我正在尝试使用 R 的 adabag 包执行分类。
以下调用与 R 的 ada 包的 ada() 函数完美配合。
model<-ada(factor(label)~., data=trainingdata)
但是当在下面的adabag的函数调用中使用相同的训练数据集时,它会返回错误:
model<-boosting(factor(label)~., data=trainingdata)
Error in `[.data.frame`(data, , as.character(formula[[2]])) :
undefined columns selected
这个错误到底说明了什么?
在对
boosting
的第一个示例进行较小修改时,我收到了该错误消息:
> data(iris)
> iris.adaboost <- boosting(factor(Species)~., data=iris, boos=TRUE, mfinal=10)
Error in `[.data.frame`(data, , as.character(formula[[2]])) :
undefined columns selected
所以你应该尝试我刚刚在评论中给出的建议(提前进行 Factor()-ing)。
boosting
的公式接口功能不够齐全,甚至无法处理其解析树中的 factor
函数。
我在使用 adabag 包时遇到同样的错误,似乎有一些不兼容的列名称,我们不能用于建模。
我已经运行了表达式 colnames(Dataset) <- make.names(colnames(Dataset))
它对我有用。