Les données de Prédiction à l'aide de l'Arbre de Décision de rpart
Je suis aide R à la classification des données-cadre appelé " d " contenant des données structurées comme ci-dessous:
Les données 576666 les lignes et les colonnes "classLabel" a un facteur de 3 niveaux: UN, DEUX, TROIS.
Je fais un arbre de décision à l'aide de rpart:
fitTree = rpart(d$classLabel ~ d$tripduration + d$from_station_id + d$gender + d$birthday)
Et je tiens à prédire les valeurs de la "classLabel" pour newdata
:
newdata = data.frame( tripduration=c(345,244,543,311),
from_station_id=c(60,28,100,56),
gender=c("Male","Female","Male","Male"),
birthday=c(1972,1955,1964,1967) )
p <- predict(fitTree, newdata)
J'attends mon résultat à une matrice de 4 lignes avec une probabilité de les trois valeurs possibles pour "classLabel" de newdata
. Mais ce que j'obtiens comme résultat dans p, est un dataframe de 576666 lignes comme ci-dessous:
J'ai également le message d'avertissement suivant lors de l'exécution de la predict
fonction:
Warning message:
'newdata' had 4 rows but variables found have 576666 rows
Où suis-je fais de mal?!
$
dans vos formules. Au lieu d'utiliser ` rpart(classLabel ~ tripduration + from_station_id + sexe + anniversaire, data=d)` sinon, les variables sont liées à "d" et ne pourra pas être résolu à l'intérieur de votre newdata de données.cadre. Dans l'avenir, assurez-vous d'inclure un reproductible exemple avec des échantillons de données d'entrée afin que nous puissions obtenir la même erreur que vous (les images de données ne comptent pas).
OriginalL'auteur Saba Jamalian | 2015-04-11
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème est le suivant: vous devez ajouter "type=" class " "dans la prédiction de code:
Essayez le code suivant. Je prends le mot "iris" dataset dans cet exemple.
OriginalL'auteur Yimihua