前提
RのrandomForest
パッケージにあるimportance()
関数を使うと、学習した各種特徴量が目的変数の説明にどのくらい寄与しているのか得られる。
この時、この結果は、特徴量をrownameとするMatrixとして得られる。これをV1を特徴量の名前、V2を寄与度とするdata.table
に変換したい。
結論
nikkei225.rf <- randomForest(change~., data=train.rf, mtry = 242) nikkei225.rfp <- predict(nikkei225.rf, test) valiable_names <- rownames(importance(nikkei225.rf)) valiable_importances <- importance(nikkei225.rf)[,'IncNodePurity'] data.table(valiable_names=valiable_names, valiable_importances=valiable_importances)
説明
rownames()
でMatrixのrow nameが得られるので、そいつと、寄与度を取り出して、新たにdata.tableとして組み立てる。
もっと賢いやり方があるに違いないが、とりあえずできた。