2016-12-09 8 views
0

Je souhaite changer la méthode de division en fonction rpart de "gini" (par défaut) à "information".Erreur de partage Rpart: Partition d'objet non trouvée

Dans la section d'aide que nous avons cet exemple:

fit2 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis, 
       parms = list(prior = c(.65,.35), split = "information")) 

dans method détails argument que nous avons. « Sinon, la méthode peut être une liste de fonctions nommées init, Split et eval Des exemples sont donnés dans le fichier « tests/usersplits.R » dans les sources, et dans les écrites du utilisateur vignettes Fonctions Split «

et dans les détails des arguments parms: » L'indice de fractionnement peut être gini ou des informations prieurs par défaut sont proportionnelles à. les données comptent, les pertes par défaut à 1, et le partage par défaut à gini. "

Lorsque je tente de créer le modèle:

model<-rpart(as.factor(char)~., data=train, split = "information") 
Error: ***Argument split not matched*** 

Je trouve cela (et la plupart des sections) d'aide R pas très claire. Apparemment, je n'ai pas l'option information. Suis-je censé définir la fonction de split avant de construire mon modèle? Ou entrer le vecteur de probabilités? Comment puis-je utiliser informations comme dans l'exemple?

+1

Si vous indentez vos lignes de code de 4 espaces, ils formateront correctement. –

+0

C'est un message d'erreur assez clair. Vous avez essayé de donner à 'rpart' un paramètre nommé' split' et il n'y a pas de tel paramètre sur la page d'aide. Les éléments du côté gauche de la section Arguments peuvent être donnés en arguments. Ou, si vous décidez d'utiliser le mécanisme des "trois points", vous pouvez consulter la section Arguments de rpart.control, qui n'a pas non plus d'arguments séparés. Le 'split 'que vous voyez dans l'exemple est juste un élément dans une liste donnée à' parms'. –

Répondre

2

Vous n'avez pas fidèlement reproduit l'exemple. Je pense que ce que vous voulez est

model<-rpart(as.factor(char)~., data=train, parms=list(split = "information"))