【问题标题】:Can I apply Cross Validation in a Linear Regression model?我可以在线性回归模型中应用交叉验证吗?
【发布时间】:2017-05-27 22:18:26
【问题描述】:

我有一个包含 58 个样本的数据集。数据集有两列“测量信号”和“people_in_area”。因此,我正在尝试使用 Scikit-learn 训练线性回归模型。目前,我将数据集的 75% 用于训练,25% 用于测试。但是,根据拆分前数据的顺序,我会得到不同的 R 平方值。

我认为由于数据集很小,根据拆分之前数据的顺序,不同的值将保留为 x_test 和 y_test。因此,我正在考虑在我的线性回归模型上使用“交叉验证”来划分测试并随机训练数据多次,训练更多,并且能够进行更多测试,以这种方式获得更可靠的结果.这是正确的做法吗?

【问题讨论】:

  • 我建议这个问题更适合“交叉验证”,因为它侧重于技术而不是编程

标签: python scikit-learn linear-regression


【解决方案1】:

是的,使用交叉验证可以更好地估计模型性能。

但是,随机拆分(交叉验证)不适用于时间序列和/或所有数据分布。

“最终模型”不会比您对模型性能的估计更好。

【讨论】:

  • 在这种情况下,训练线性回归模型以便以后使用它来预测值的正确方法是什么?
  • 当你训练以后预测你会使用你所有的数据。
  • 为了验证模型而进行的测试/训练拆分。在实际部署情况下,您这样做是为了查看您是否可以预测未来值是否足够好。如果您认为该模型足够好,您可以部署它并 100% 使用训练集的所有数据进行训练。 (甚至还有新样品)
猜你喜欢
  • 2021-06-06
  • 2018-09-06
  • 2016-10-25
  • 2018-09-01
  • 2021-05-06
  • 2021-01-25
  • 2012-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多