参数意味着不同的行数;错误中的R cforest

问题描述 投票:0回答:1

我一直运行到同样的错误,当我在R中,使用的cforest命令与党。我运行的代码用来做工精细,所以这是一个新的,不明原因的错误。我想看看是否有人用我的数据的问题,所以我申请相同的代码到titannic数据集,并得到了同样的错误。下面的代码:

fit <- cforest(as.factor(Survived) ~ Pclass + Age + SibSp + Parch + Fare,
           data = train, 
           controls=cforest_unbiased(ntree=2000, mtry=3))
Prediction <- predict(fit, test, OOB=TRUE, type = "response")
submit <- data.frame(PassengerId = test$PassengerId, Survived = Prediction)

我得到的错误如下:

Error in data.frame(PassengerId = test$PassengerId, Survived = Prediction) : 
arguments imply differing number of rows: 418, 891

当然,“测试”数据集有491行和训练数据集有891行。因此,我有它试图预测相同的训练数据集进行了测试。下面是代码:

submit <- data.frame(PassengerId = train$PassengerId, Survived = Prediction)

这工作正常。所以,我知道这是相关的行数。这是一个全新的问题,只是出现了今天已经实现,即只有几个月前工作正常的代码。有没有人遇到同样的问题?

这里是链接到2档,通过我的谷歌驱动器。

test

train

r random-forest party
1个回答
1
投票

我想到了!的命名已经改变。你必须改变预测行改为:

Prediction <- predict(object = fit, newdata = test, OOB=TRUE, type = "response")

而不是旧的方式,这是:

Prediction <- predict(fit, test, OOB=TRUE, type = "response")

希望其他人谁都有这个问题会有所帮助。谢谢大家谁看到这篇文章和试图解决这个问题!

© www.soinside.com 2019 - 2024. All rights reserved.