【问题标题】:Conditional Random Forest Predict Error, Error in kids_node(node)[[i]] : subscript our of bound条件随机森林预测错误,kids_node(node)[[i]] 中的错误:下标我们的界限
【发布时间】:2021-12-22 21:51:51
【问题描述】:

我估计我的样本 70 个变量具有许多预测变量 X 有 70000 个 Obs 的缺失值。 Y 是二元变量,5% 的观测值 = 1,95% = 0

cf <- cforest (formula = Y ~., data = df , 
               perturn = list (replace = FALSE, fraction = 0.5, 0.5), 
               control = ctree_control (MIA = true), ntree = 1500, mtry=8)

当我使用带有自己的样本内的 OOB 预测进行预测时遇到问题。 它返回错误

Error in kids_node(node)[[i]] : subscript out of bounds

有时,我改变种子,它解决了问题。但是当我预测样本不足时出现了相同的错误消息。

有人遇到过类似的问题吗?

【问题讨论】:

    标签: r machine-learning random-forest missing-data imputation


    【解决方案1】:

    当您更改种子时,它解决了问题嗯。我不是 100% 确定,但我会尝试提供 2 个可能是问题的解释。

    1. 您使用 OOB 预测中不存在的预测变量。假设您使用每人的汽车数量作为预测变量,但您的 OOB 预测不包含有关每人汽车数量的信息。这会导致错误。

    2. 有时您可能会使用信息进行预测,而这些信息在您的 OOB 预测中不可用。

    所以要指定这个。假设您的 RandomForest 接受了一个名为“状态”的分类变量的训练。该模型了解到,州 = 亚利桑那州与较低的概率相关联,而州 = 加利福尼亚州与更高的概率相关联。但是,在您的 OOB 预测中,您有 state = Washington。该模型不知道这个类别,并且会提供一个错误,因为它没有根据这个变量规范进行训练。

    另一个与这个问题无关的提示是,鉴于 5% 的观察值 = 1 和 95% = 0,我会看看类不平衡。我怀疑您的预测会偏向多数类(不一定是这种情况,但如果是,请查看采样等类不平衡技术)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-20
      • 2017-12-20
      • 2015-05-10
      • 2016-10-26
      • 2013-12-03
      • 2014-08-07
      • 2017-09-24
      相关资源
      最近更新 更多