2016-09-22 27 views
1

私は​​メソッドでデータセットを訓練しました。たとえば:thath後R(Caret)の決定木をプロット

ctrl <- trainControl(
        method = "LGOCV", 
        repeats = 3, 
        savePred=TRUE, 
        verboseIter = TRUE, 
        preProcOptions = list(thresh = 0.95) 
        ) 

preProcessInTrain<-c("center", "scale") 
metric_used<-"Accuracy" 
model <- train(
       Output ~ ., data = training, 
       method = "rf", 
       trControl = ctrl, 
       metric=metric_used, 
       tuneLength = 10, 
       preProc = preProcessInTrain 
      ) 

、私はdecissionツリーをプロットしたいが、私はplot(model)をwirteとき、私はこれを取得:plot(model)を。

私はplot(model$finalModel)を記述する場合、私はこれを取得:plot(model$finalModel)

私はdecissionツリーをプロットしたいと思い

...

私はそれをどのように行うことができますか? ありがとう:)

答えて

2

あなたが使用しているモデルは、単一の決定木ではなく、多数の樹木のアンサンブルであるランダムフォレストです。最終的なモデルをプロットすると、ツリーの数が増えるに従って、トレーニングとテストのデータセットのエラー率がプロットされます。

enter image description here

あなたの代わりに、単一の決定木をたい場合は、以下のようなCARTモデルを訓練したいことがあります。今、上記のように最終的なモデルをプロット

model <- train(
    Species ~ ., data = training, 
    method = "rpart", 
    trControl = ctrl, 
    metric=metric_used, 
    tuneLength = 10, 
    preProc = preProcessInTrain 
) 
library(rpart.plot) 
rpart.plot(model$finalModel) 

はのために決定木をプロットします君は。

+1

ありがとうございます!一つの質問があります。青、緑、黒、赤の線はどういう意味ですか?私はそれらの違いは何ですか? –

+1

質問ありがとうございます。黒い線は全体のOOBエラーを表し、他の3つの色の線はトレーニングデータの3つのクラスのそれぞれのOOBエラーを表します(3つの異なるクラスラベルのトレーニングデータを使用しました)。 –