sklearn模型中预测值的R2_score为负数

目录

  • 正文
  • 评论区
  • 参考链接

正文

Sklearn.metrics下面的r2_score函数用于计算R²(确定系数:coefficient of determination)。它用来度量未来的样本是否可能通过模型被很好地预测。

分值为 1 表示最好,但我们在使用过程中,经常发现它变成了负数,多次手动调参只能改变负值的大小,却始终不能让该值变成正数。

R 2 R^2 R2 的定义如下图,从公式来看,即使我们不使用任何模型,仅仅用目标集标签的平均值,就能让 R2_score 为 0,如果值为负数,则表示我们预测的结果还不如测试集中的 y_label 的平均值准确。下面我们最简单的模型去测试一下 R2_score 到底跟什么有关系。
sklearn模型中预测值的R2_score为负数_第1张图片

评论区

  • 用随机森林回归树预测波浪类型的数据,不行, R 2 R^2 R2 是负的,还不如用多项式回归预测,还能到0.6,感觉是数据分布不适合这个模型,怎么调参都不行,换模型得了
  • 换神经网络模型,完美解决这个问题, R 2 R^2 R2 能达到 0.9 以上
  • 换个模型吧,数据不适合

参考链接

[1] Sklearn模型中预测值的R2_score为负数的问题探讨 2019.1;

你可能感兴趣的:(机器学习算法,sklearn,人工智能,python)