java数据类型不匹配,r random forest error - 新数据中预测变量的类型不匹配

我试图在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

它的工作原理!如果有人可以解释为什么它以这种方式工作而不是用另一种方式,我会很感激吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值