我正在尝试使用randomForest软件包进行预测。我将数据分为训练并进行测试,在训练中运行模型,当我尝试使用测试数据集进行预测时,出现以下错误:
Error in `levels<-`(`*tmp*`, value = c(`1` = 4L, `2` = 4L, `3` = 4L, `4` = 1L, :
factor level [2] is duplicated
我的第一个问题是,我无法发布正在使用的数据,也找不到找到问题所在的方法。而且我无法使用简单化的数据集来复制此错误。
我认为该错误意味着我在某一因子水平上有一些重复,所以我尝试了:
sapply(test_dat, function(x) any(duplicated(levels(x))))
但这对我所有的列都返回false。
我还尝试通过执行以下操作来确保测试中的水平在火车数据集中相同:
mapply(function(x, y) identical(levels(x), levels(y)), train_dat, test_dat)
,它也返回true。 为了获得一些指导,我已经阅读了以下答案:
Make predict specify bad factor level in R with randomForest
Warning when defining factor: duplicated levels in factors are deprecated
有人处理过这个问题吗?我知道这是不可复制的,如果您有关于如何使其更可复制的任何建议,欢迎提供帮助。