R - 随机森林 - 删除训练数据中不存在的新因子水平

R - Random Forest - Delete New factor levels not present in the training data

我正在使用随机森林包调试代码,之前几乎没有 R 经验。

我在执行 predict.randomForest 时遇到了错误:

New factor levels not present in the training data.

搜索此站点我找到了原因并明白我需要删除导致问题的记录。

我如何隔离(找出)导致问题的 columns/rows?

假设您有 train.data,您用于构建模型,test.data,您现在想要获得预测,以及您的因子变量 factor.var1,那么您可以执行以下操作:

levels(test.data$factor.var1) %in% levels(train.data$factor.var1)

这将生成一个与 test.data 中的因子水平相对应的逻辑向量,其中 "FALSE" 条目是 train.data 中不存在的因子水平。

simple.solutions 这将是 rbind 测试数据与训练数据和预测,然后子集你想要预测的行。这对我有用