gpt4 book ai didi

r - 使用 R 使用随机森林时出现错误

转载 作者:行者123 更新时间:2023-12-02 05:07:46 24 4
gpt4 key购买 nike

我使用的数据集包含 mvar_1 作为列,其中包含去年公民投票支持的 5 个政党之一的名称。其他变量只是人口统计变量,如各政党参加集会的数量等。

当我使用以下代码时:

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 个级别的因子。

您可能有一个具有多个级别的分类变量,例如人口统计组,并且您应该将其聚合为更少的级别才能使用此包。 (有关最佳方法,请参阅 here)

更有可能的是,您错误地输入了一个非分类变量作为因子。在这种情况下,您应该通过正确输入变量来修复它。例如。要从因子中获取数字,请调用 as.numeric(as.character(myfactor))

如果您不知道因子是什么,那么第二个选项可能就是它。您应该对 data.train 进行摘要,这将帮助您了解哪些 mvar 输入错误。如果 mvar 输入为数字,您将看到最小值、最大值、平均值、中位数等。如果数字变量错误地输入为因子,您将看不到该内容,但会看到数字每个级别的出现次数。

无论如何,调用 summary 都会对您有所帮助,因为它会显示每个因素的级别数。超过 53 个级别的变量导致了该问题。

关于r - 使用 R 使用随机森林时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33098731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com