R-根据训练集和测试集的训练模型,计算测试MSE
machine-learning
r
regression
5
0

给定两个简单的数据集:

 head(training_set)
      x         y
    1 1  2.167512
    2 2  4.684017
    3 3  3.702477
    4 4  9.417312
    5 5  9.424831
    6 6 13.090983

 head(test_set)
      x        y
    1 1 2.068663
    2 2 4.162103
    3 3 5.080583
    4 4 8.366680
    5 5 8.344651

我想在训练数据上拟合一条线性回归线,并使用该线(或系数)在该数据拟合到该数据后,在测试数据上计算“测试MSE”或残差的均方误差。

model = lm(y~x,data=training_set)
train_MSE = mean(model$residuals^2)
test_MSE = ?
参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

在这种情况下,将其称为MSPE(均方预测误差)更为精确:

mean((test_set$y - predict.lm(model, test_set)) ^ 2)

由于所有模型都针对预测,因此这是一种更有用的度量。我们想要一个具有最小MSPE的模型。

实际上,如果我们有备用的测试数据集,则可以如上所述直接计算MSPE。但是,很多时候我们没有备用数据。在统计数据中, 留一法交叉验证是根据训练数据集对MSPE的估计。

还有其他一些用于评估预测误差的统计数据 ,例如Mallows的statisticAIC

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号