如何评估均方误差 (MSE) 是不是合理?
Posted
技术标签:
【中文标题】如何评估均方误差 (MSE) 是不是合理?【英文标题】:How do I evaluate whether the mean squared error (MSE) is reasonable or not?如何评估均方误差 (MSE) 是否合理? 【发布时间】:2018-10-16 06:19:30 【问题描述】:我正在使用 scikit learn 创建回归模型。 现在我想知道如何评估均方误差是合理的还是坏的? 例如,当我进行交叉验证时,训练数据模型的测试数据的 MSE 为 0.70。评分合理还是差? 计算模型的整个数据的 MSE 并比较它们并查看分数是否相似是否有意义? 这不是编程问题,但我想知道如何评估价值。我不确定我的方式是否正确。
【问题讨论】:
0.70 的 MSE 值本身使回答您的那部分问题变得困难 - 例如,如果我在以米或公里为单位对实验数据进行建模后问同样的问题,它仍然是同一个模型.除了使用 MSE,考虑使用计算为“R2 = 1.0 - (absolute_error_variance /dependent_data_variance)”的 R 平方 (R2) 值。这可以解释为告诉您模型解释了多少数据方差。如果 R2 = 0.5,则模型解释了 50% 的数据方差。如果 R2 为 0.99,则模型解释了 99%。 【参考方案1】:您应该使用 MSE 或其他回归性能指标 (link) 的方式是比较不同的模型(或具有不同超参数的相同模型)。如果您保持数据集不变,那么它会让您了解哪些模型表现更好,哪些更差。
让我建议 2 个基准回归模型,以便始终将您的复杂模型与之进行比较。如果您在测试 MSE(或其他)方面无法击败这些,那么您做错了什么
-
虚拟回归器link
线性回归link
【讨论】:
感谢您的提示。那么,计算整个数据的 MSE 和测试数据的 MSE 并比较它们,看看它是否相似,模型是否合理? 将您的数据拆分为训练和测试,在训练中拟合模型,然后在测试中进行评估。选择在您选择的性能指标方面表现最佳的模型。 非常感谢。我想我明白你的意思了。以上是关于如何评估均方误差 (MSE) 是不是合理?的主要内容,如果未能解决你的问题,请参考以下文章
当损失是均方误差 (MSE) 时,啥函数定义 Keras 中的准确性?
[转] 为什么分类问题的损失函数采用交叉熵而不是均方误差MSE?