背景:
R でランダムなフォレストを作成できます:
set.seed(1)
library(randomForest)
data(iris)
model.rf <- randomForest(Species ~ ., data=iris, importance=TRUE, ntree=20, mtry = 2)
作成した randomForest オブジェクトを使用して値を予測できます。
my_pred <- predict(model.rf)
plot(iris$Species,my_pred)
次に、森からランダムな木を剥がします。
idx <- sample(x = 1:20,size = 1,replace = F)
single_tree <- getTree(model.rf,k=1)
質問:
- 森から引き抜かれた一本の木からどのように予測するのですか?
- 使用する必要がある別のライブラリはありますか? (森、パーティー、h2o、...)
私がこれまでに見た場所:
- 私は古典的なrandomForestを試しましたが、「ゲット」または「ゲットの予測」はありません。「成長」がありますが、特定の木を使用するのではなく、サイコロを使用して新しいランダム フォレストを作成します。「結合」がありますが、「getTree」から返されるものではなく、randomForest オブジェクトで機能します。
- 複数の木を 1 つのオブジェクトに詰め込もうとしましたが、うまくいきませんでした。これらを縫い合わせるデータについての私の理解には、改善の余地があります。
- party/cforest のコードを調べてみましたが、ctree で作成されているとされていますが、ドキュメントには「getTree」がありませんでした。
- グーグル検索を何度も試しましたが、この特定のタスクについて何も見つかりませんでした。
私はまた、答えが私の質問に答えない一般的に関連する質問を見つけました:
- https://stats.stackexchange.com/questions/21152/obtaining-knowledge-from-a-random-forest
- http://tjo.hatenablog.com/entry/2014/03/10/190000 (漢字は読めませんがRは読めます)
- http://grokbase.com/t/r/r-help/11a5wgv1xn/r-party-extract-binarytree-from-cforest
アンサンブル統計と、森の中の特定の木の形をプロットすることについては、かなりの部分があるようです。森で木を扱うことはないようです。