【发布时间】:2016-10-16 01:49:12
【问题描述】:
如果我运行 randomForest(y ~ x, data = df) 模型,x 会得到一个超过 53 个级别的因子变量
Error in randomForest.default(m, y, ...) :
Can not handle categorical predictors with more than 53 categories.
如果我将 x 更改为 as.character(x) 并重新运行,我不会收到任何错误。
幕后有什么不同?这两种类型不都被视为分类变量吗?
【问题讨论】:
-
它们都应该被视为分类变量。老实说,我不确定,但您可以尝试使用少于 53 个类别的预测变量拟合 RF,看看当它们被视为因子和字符时,它是否提供相同的结果。但是,IMO 您应该避免将这个 RF 函数用于超过 53 个类别的预测变量,因为即使将预测变量视为一个角色有效,将其视为一个因素也不起作用这一事实可能表明可能存在不良行为在这种情况下的模型。
标签: r random-forest