我试图在R(quantregForest)中使用分位数回归森林函数,它 Build 在随机森林包上 . 我收到类型不匹配错误,我无法理解为什么 .
我用它训练模型
qrf
哪个工作没有问题,但当我尝试用新数据测试时
quant.newdata
它给出以下错误:
Error in predict.quantregForest(qrf, newdata = xtest) :
Type of predictors in new data do not match types of the training data.
我的培训和测试数据来自单独的文件(因此是单独的数据框),但具有相同的格式 . 我已经检查了预测变量的类
sapply(xtrain, class)
sapply(xtest, class)
这是输出:
> sapply(xtrain, class)
pred1 pred2 pred3 pred4 pred5 pred6 pred7 pred8
"factor" "integer" "integer" "integer" "factor" "factor" "integer" "factor"
pred9 pred10 pred11 pred12
"factor" "factor" "factor" "factor"
> sapply(xtest, class)
pred1 pred2 pred3 pred4 pred5 pred6 pred7 pred8
"factor" "integer" "integer" "integer" "factor" "factor" "integer" "factor"
pred9 pred10 pred11 pred12
"factor" "factor" "factor" "factor"
它们完全一样 . 我还检查了“NA”值 . xtrain和xtest都没有NA值 . 我在这里错过了一些小事吗?
更新I:对训练数据运行预测仍然会产生相同的错误
> quant.newdata
Error in predict.quantregForest(qrf, newdata = xtrain) :
names of predictor variables do not match
更新II:我将训练和测试集合在一起,以便从1到101的行是训练数据,其余的是测试 . 我将(quantregForest)中提供的示例修改为:
data
n
indextrain
xtrain
xtest
ytrain
ytest
qrf
quant.newdata
它的工作原理!如果有人可以解释为什么它以这种方式工作而不是用另一种方式,我会很感激吗?