gpt4 book ai didi

r - 在R中使用randomForest输入类型不匹配错误

转载 作者:行者123 更新时间:2023-12-03 08:33:53 25 4
gpt4 key购买 nike

我试图在R中使用随机森林对某些kaggle数据进行分类,但是每当尝试使用已创建的模型时,我都会不断收到以下错误消息。

Error in predict.randomForest(fit, newdata = test, type = "class") : 
Type of predictors in new data do not match that of the training data

我完全不知道该错误的原因,而Google并没有太大帮助。任何帮助或见解将不胜感激。下面给出了简单的代码段,它是对kaggle问题之一的响应。
fit = randomForest(as.factor(IsBadBuy) ~ VehicleAge + WheelTypeID + Transmission + WarrantyCost + VehOdo + Auction, 
data=training, importance=TRUE, do.trace=100, keep.forest=TRUE)

prediction = predict(fit, newdata=test, type='class')

t = table(observed=test[, 'IsBadBuy'], predict=prediction)

最佳答案

对于像我这样的R新手...
他们说的很对,即“错误消息的含义与所讲的完全相同:您的训练数据中至少有一个变量的类型与测试数据中的等效变量不匹配”。

请执行以下操作以确认没有明显不同:str(training)str(NewData)
这将列出培训和新数据的功能和类型。像我以前一样,您可能仍然感到困惑的原因是数据类型可能看起来匹配,但仍然出错。可能将两个要素集/要素列都列为一个因素,但级别不同。我的新数据要小得多,没有培训数据所具备的所有功能。这会让您大失所望。解决方法是:在处理新数据并进行分解时,传递所有可能的水平。这样可以使您与之匹敌,并且一切正常。

dataframe$ColToFactor <- factor(dataframe$ColToFactor, levels=c("PossibleLvl1", "PossibleLvl2", "PossibleLvl3", account for all possible))

那对我来说很重要。

关于r - 在R中使用randomForest输入类型不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16172998/

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