添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Error in if (nrow(object$splits) > 0) { : argument is of length zero(R语言使用boosting函数进行集成学习时)

最近在RStudio软件上用R语言的adabag包里的boosting函数进行机器学习训练时(我这个是一个分类问题),发现会报错,显示如下:

Error in if (nrow(object$splits) > 0) { : argument is of length zero

后来上网查了下解决方法,在 一个中文论坛的帖子 里给出的解决方法是“将每一字段都转换为factor型”。我尝试了这种解决方法,确实程序能跑起来了,训练时不报错了。

但是我觉得这种方法不靠谱:因为如果有numeric型的字段,转成factor型后,就会变成每一个小数都成为一个level,有点类似于每一个小数都成为了一个类别。

于是我又查到 一个英文论坛的帖子 ,里面说“只需要将标签列转成factor型”就可以了,比如这样:

train$target ← as.factor(train$target)

果然,这种方法也能训练时不报错,而且感觉靠谱多了。

发布于 2022-06-28 14:25