R中的随机森林模型 - 预测变量和训练数据类型不匹配

数据挖掘 r 随机森林 交叉验证
2022-02-10 20:51:43

我在研究主题中尝试了随机森林模型,但在验证阶段遇到了问题。

当我使用随机森林的最终模型在独立数据集上进行预测时,我收到了以下消息:

新数据中的预测变量类型与训练数据中的预测变量类型不匹配

因此,为了检测我的因素/变量中的不同类别,我使用了:

levels(Train$Aquifer.media)           levels(Test$Aquifer.media)

对于这个因素“Aquifer.media”,我有:

Train dataset: "Carbonates rocks"  "Crystalline rocks"  "Siliciclastic sedimentary rocks"  "Unconsolisated sediments rocks"  "Volcanic rocks"

Test Dataset: "Crystalline rocks"  "Siliciclastic sedimentary rocks"  "Unconsolisated sediments rocks"  "Volcanic rocks"

我检测到预测变量属于不同的类别,我想知道,我该如何解决这个问题?

是否可以删除因子中的某些类别?

1个回答

您的训练集应该是整个人口的真实代表,这在您的情况下是不正确的。训练数据集的媒体列中的级别有 4 个因子级别,比测试数据集的媒体列因子级别低 1 个级别。假设您使用的是 R,您可以使用以下代码修复它

levels(TrainAquifier.media) <- levels(TestAquifier.media)

您可以在此处的 stackoverflow 中找到类似问题的答案