7
votes

Recherche de noeud correspondant dans un arbre de régression à l'aide de RPart

Je suis assez nouveau à R et je suis coincé avec un problème assez muet.

Je calibre un arbre de régression en utilisant le paquet RPart strong> afin de faire une classification et de certains Prévision. P>

Merci à R La partie d'étalonnage est facile à faire et facile à contrôler. P>

# read validation data
validationData <-read.csv("my_sample.csv", sep=",", header=TRUE)

# search for the probability in the tree
predict <- predict(tree, newdata=validationData, class="prob")

# dump them in a file
write.table(predict, file="dump.txt") 


1 commentaires

Avez-vous essayé d'explorer vos objets en utilisant str () ?


3 Réponses :


1
votes

Je pense que ce que vous voulez, c'est type = "vecteur" au lieu de class = "prob" (je ne pense pas que la classe est un paramètre accepté de la méthode de prédire ), comme expliqué dans les documents RPart:

si type = "vecteur": Vecteur de prédit réponses. Pour les arbres de régression cette est la réponse moyenne au nœud, pour Poisson arbres c'est l'estimé Taux de réponse et pour la classification arbres c'est la classe prédite (en tant que numéro).


0 commentaires

13
votes

La réponse de Benjamin ne fonctionne malheureusement pas: type = "vecteur" code> retourne toujours les valeurs prédites.

Ma solution est jolie klugy, mais je ne pense pas qu'il y ait une meilleure façon. L'astuce consiste à remplacer les valeurs de y prédites dans le cadre de modèle avec les numéros de noeuds correspondants. P>

tree2 = tree
tree2$frame$yval = as.numeric(rownames(tree2$frame))
predict = predict(tree2, newdata=validationData)


0 commentaires

2
votes

Vous pouvez utiliser le package Partykit: xxx

pour votre exemple, définissez xxx


0 commentaires