9

ランダムフォレストモデルが成功していて、それを別のソフトウェアに統合したいのですが、一部のライブラリ(JavaのfastRFや他の言語のALGLIBのDecisionForestなど)を使用できることはわかっていますが、Rでトレーニングされた「モデル」をどのように使用できますか?新しい言語で再トレーニングする必要がありますか?

別の見方はどういうわけかそれを抽出することです、しかし私はそれをする方法を知りません...

どんな助けでもありがたいです

前もって感謝します

4

2 に答える 2

13

RandomForestを含むさまざまなモデルのPMMLを生成するpmmlパッケージを見てください。基本的な例:

#?randomForest
library(randomForest)
library(pmml)
set.seed(131)
ozone.rf <- randomForest(Ozone ~ ., data=airquality, mtry=3,importance=TRUE, na.action=na.omit)
print(ozone.rf)
ozone.rf.pmml <- pmml(ozone.rf)
于 2012-03-19T10:37:05.453 に答える
2

randomForestオブジェクトには、オブジェクト内の各ツリーに関するすべての情報が含まれています。混乱する可能性はありますが、各ツリーは特に複雑ではありません。

iris.rf <- randomForest(Species ~ ., data=iris, importance=TRUE,
                         proximity=TRUE)
> names(iris.rf$forest)
  [1] "ndbigtree"  "nodestatus" "bestvar"    "treemap"    "nodepred"  
  [6] "xbestsplit" "pid"        "cutoff"     "ncat"       "maxcat"    
  [11] "nrnodes"    "ntree"      "nclass"     "xlevels"   

Rの外部でフォレストを使用する方法を理解するには、ソースコードを確認する必要があります。randomForestのソースパッケージをダウンロードし、tar.gzを抽出して、srcディレクトリを調べます。rf.cには、関数classForestが表示されます(回帰については、regrf.cのregForestを参照してください)。R関数predict.randomForestを見て、その呼び出し方法を確認してください。R内で表示するには、getAnywhere( "predict.randomForest")を使用する必要がある場合があります。

R情報を抽出して別のパッケージで予測するには、かなりの工夫が必要になるため、実際にこれを行う前に慎重に検討する必要があります。使用する予定のソフトウェアを再インストールする方が簡単な場合があります。

于 2012-03-18T07:28:59.327 に答える