【问题标题】:How can I ensure about my R^2 score?如何确保我的 R^2 分数?
【发布时间】:2016-05-22 22:58:14
【问题描述】:

我有一个包含 10 列和 158 行的数据集。我尝试预测我的测试数据集,即 1 列 158 行。

我进行了交叉验证、网格搜索并使用了 ElasticNet 算法。

还在评估模型之前,我检查了用于训练模型的 10 列与我尝试预测的其他 1 列之间的 pearson 相关性。相关性不好,但是当我评估模型时,R^2 得分接近 0.98 。

我怎样才能确保这个分数是可信的?因为我没想到会有这样的R^2。这太高了,超出了我的预期。

提前致谢。

【问题讨论】:

标签: machine-learning scikit-learn regression data-mining


【解决方案1】:

一个好的模型可以给出接近 1.0 的 R^2 分数。这意味着学习模型非常适合测试数据。如果您要预测连续值,您可以绘制并检查实际值和预测值。它可以更好地展示您的模型。

此外,您可以尝试使用不同的误差指标,例如回归和准确性的均方根误差、均方误差或绝对误差,分类时的 ROC 曲线或混淆矩阵,以确保您的模型非常好。

另一个重要的事情是,你不能真正比较皮尔逊系数和 R^2 分数。具有低 pearson 系数的特征可以生成具有良好 R^2 分数的模型,反之亦然。

这是因为 pearson 相关性只是为您提供变量之间的线性相关性。在您的情况下,相关性的低值意味着您的特征和目标不是线性相关的。这也可能意味着特征高度非线性相关(这可能是模型 R^2 得分高的原因)。因此,皮尔逊系数值低并不意味着您的特征不好。如果您真的想测试您的特征是否良好,请尝试不同的相关系数,例如距离相关或等级相关。

特征评估或选择的其他替代方法是在 scipy 中使用 Feature selection 模块。

希望这能回答你的问题!

【讨论】:

    猜你喜欢
    • 2017-12-28
    • 2011-09-19
    • 2012-08-19
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    相关资源
    最近更新 更多