J'essaie d'utiliser predict.boosting pour de nouvelles données dans le paquet adabag. Je ne peux pas trouver un moyen de l'utiliser pour des données sans étiquettes (ou toute autre fonction de ce paquet).Comment lancer predict.boosting pour de nouvelles données?
Je suis en train:
pr <- predict.boosting(modelfit, test[,2:ncol(test)])
Il donne:
Error in `[.data.frame`(newdata, , as.character(object$formula[[2]])) :
undefined columns selected
Cependant, si j'inclure les étiquettes:
pr <- predict.boosting(modelfit, test)
il fonctionne très bien. Mais il doit y avoir un moyen de l'utiliser comme un modèle prédictif pour les données sans étiquettes.
Merci pour toute aide!
EDIT Exemple de paquet:
library(rusboost)
library(rpart)
data(iris)
font un ensemble de données non équilibré en éliminant la plupart des observations de setosa
df <- iris[41:150,]
créer variable binaire
df$Setosa <- factor(ifelse(df$Species == "setosa", "setosa", "notsetosa"))
créer indice de négatif Exemples
idx <- df$Setosa == "notsetosa"
modèle d'exécution
test.rusboost <- rusb(Setosa ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width,
data = df, boot = F, iters = 20, sampleFraction = .1, idx = idx)
predict.boosting(test.rusboost, df)
predict.boosting(test.rusboost, df[,1:4)
Il serait plus facile de vous aider si vous fournissiez un [exemple reproductible] (https: // stackoverflow.com/questions/5963269/comment-faire-un-grand-r-reproductible-exemple) – MrFlick
Merci d'avoir commenté, j'ai ajouté un. – aqua