我正在使用一个数据集,其中包含名为mvar_1
的列,其中包含公民去年投票支持的五个政党中的一个的名称。其他变量只是人口统计学变量,如每个政党参加的集会数量,其他内容。
当我使用以下代码:
data.model.rf = randomForest(mvar_1 ~ mvar_2 + mvar_3 + mvar_4 + mvar_5 +
mvar_6 + mvar_7 + mvar_8 + mvar_9 + mvar_10 +
mvar_11 + mvar_15 + mvar_17 + mvar_18 + mvar_21 +
mvar_22 + mvar_23 + mvar_24 + mvar_25 + mvar_26 +
mvar_28, data=data.train, ntree=20000, mtry=15,
importance=TRUE, na.action = na.omit )
出现了以下错误信息:
Error in randomForest.default(m, y, ...) :
Can not handle categorical predictors with more than 53 categories.
mvar
中有一个因子具有超过53个水平。因此,要么你有一个具有许多水平的分类变量(例如人口统计学组),你应该将其聚合到较少的水平以使用此软件包,或者更可能的是,你有一个非分类变量错误地被定义为因子。在这种情况下,你应该进行修复。 - asachet