R-较长的对象长度不是较短的对象长度的倍数

时间:2018-08-03 20:15:27

标签: r

我正在这样做:

db.Products.SqlQuery("SELECT * FROM Products WHERE Name LIKE '%{0}%' AND ORDER BY Name OFFSET 0 ROWS FETCH NEXT {1} ROWS ONLY", str, 10).ToList();

其中: mode1是来自随机森林的回归模型,y是根据训练数据预测的值 RFestimated是测试数据中的预测值

我正在尝试计算RMSE 是否有使长度相等的技巧?

这些是我的步骤:(代码)

RMSE <- (sum((RFestimated-model1$y)^2)/length(model1$y))^(1/2)

1 个答案:

答案 0 :(得分:0)

在这里查看这些行:

#predict with test data
RFestimated <- predict(model1, dataTest)

[1] 118.7794
> length(RFestimated)
[1] 8352
> length(model1$y)
[1] 33405

您看到的是它们的长度不同。这应该如何工作?考虑一下您要做什么:

a <- c(1,2,3)
b <- c(4,5)
a-b
[1] -3 -3 -1
Warning message:
In a - b : longer object length is not a multiple of shorter object length

您需要根据火车数据或测试数据评估RMSE,但您需要将它们混合在一起。就是这个

RFestimated <- predict(model1, dataTrain)
qqnorm((RFestimated - model1$y)/sd(RFestimated-model1$y))

可以工作,或者这样:

RFestimated <- predict(model1, dataTest)
qqnorm((RFestimated - dataTest$y)/sd(RFestimated-dataTest$y))

第一个选项告诉您对用于拟合的样本中的数据进行拟合的程度如何,第二个选项为您提供测试数据的性能。