2013-04-01 115 views
4

我正在尝试使用R的adabag软件包进行分类。Adabag软件包中的R

以下调用与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 

什么这个错误提示是什么呢?

+0

它表明在数据帧'trainingdata'中没有名为'factor(label)'的列。 –

+0

也许如果你有一个数据帧'trainingdata',你可以尝试'model <-boosting(factor(trainingdata $ label)〜。,data = trainingdata)' – Duck

+3

我怀疑这个解决方案可能是在增强呼叫之前执行因子操作:'trainingdata $ label < - factor(trainingdata $ label); (bmodel <-boosting(factor(label)〜。,data = trainingdata))'。我注意到很多'机器学习'软件包或者没有公式接口,或者它们不完全实现。 –

回答

3

我跑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 

所以,你应该尝试我只是在评论给了忠告(做因子( - 荷兰国际集团预先)。到boosting的公式接口的功能还不足以处理其分析树中的factor函数。

+1

谢谢。有效。 – Shahzad