2013-01-03 1 views
2

Mon jeu de données d'apprentissage contient 40000 lignes. Après ma place un modèle CART en utilisantpourquoi la fonction predict() dans R ne donne pas de prédiction?

fit<-rpart(y~x,method="class")

Je tentais d'utiliser

predict(fit,data.frame(new_x),family="response")

Le message d'erreur est:

Warning message: 
`'newdata' had 100 rows but variable(s) found have 40000 rows.` 

D'ailleurs, je vérifié le "predicted value », ils sont en fait équipés valeur en utilisant la formation x. N'importe qui sait la raison?

+1

En regardant '? Predict.rpart', peut-être' type = "class" 'au lieu de' family = "réponse" '? –

+2

Plus généralement, à moins que vous ne vous efforciez de fournir un exemple reproductible (code que nous pouvons copier + coller et exécuter), il se peut que nous ne puissions pas faire grand-chose. – joran

+2

Je crois que la base de données avec les nouvelles données doit contenir une variable 'x'. Essayez 'predict (fit, data.frame (x = new_x))'. Je ne sais pas quel paquet vous utilisez et je ne peux rien dire sur le paramètre 'family'. – Roland

Répondre

0

Génial, Roland l'a eu. J'ai eu le même problème, mais résolu quand je l'ai changé

data.frame(x=) 

à

data.frame (variablename=) 
0

En plus, si vous utilisez predict() avec des objets créés par des fonctions dans le package np, nommez toujours vos deux variables de formation et newdata= les variables x et y.

Les autres noms de variables ne fonctionnent pas correctement.

Questions connexes