2016-09-22 1 views
1

J'ai formé un ensemble de données avec la méthode rf. Par exemple:Arbre de décision de tracé dans 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 
      ) 

Après thath, je veux tracer l'arbre decission, mais quand je Wirte plot(model), je reçois ceci: plot(model).

Si j'écris plot(model$finalModel), je reçois ceci: plot(model$finalModel)

Je voudrais tracer l'arbre decission ...

Comment puis-je faire cela? Merci :)

Répondre

2

Le modèle que vous utilisez est une forêt aléatoire, qui n'est pas un arbre de décision unique, mais un ensemble d'un grand nombre d'arbres. Le tracé du modèle final représentera les taux d'erreur sur les jeux de données d'apprentissage et de test lorsque le nombre d'arbres sera augmenté, comme dans le cas suivant.

enter image description here

Si vous voulez un seul arbre de décision à la place, vous pouvez vous entraîner un modèle CART comme ce qui suit:

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

maintenant tracer le modèle final comme ci-dessus va tracer l'arbre de décision toi.

+1

Merci beaucoup! J'ai une question. Que signifient les lignes bleues, vertes, noires et rouges? Je veux dire, quelles sont les différences entre eux? –

+1

Merci pour la question. La ligne noire représente l'erreur globale OOB, alors que les trois autres lignes colorées représentent l'erreur OOB à travers chacune des 3 classes dans les données d'entraînement (j'ai utilisé des données d'entraînement avec 3 étiquettes de classe différentes). –