mars.learn.metrics.r2_score#

mars.learn.metrics.r2_score(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average', session=None, run_kwargs=None)[来源]#

\(R^2\) (决定系数)回归得分函数。

最佳可能得分为1.0,并且可以是负数(因为模型可能会非常糟糕)。一个始终预测y的期望值、忽略输入特征的恒定模型将获得\(R^2\)得分为0.0。

用户指南中阅读更多内容。

Parameters
  • y_true (类数组,形状 (样本数,) 或 (样本数, 输出数)) – 真实值(正确的)目标值。

  • y_pred (数组类型,形状为 (n_samples,) 或 (n_samples, n_outputs)) – 估计的目标值。

  • sample_weight (类数组,形状 (n_samples,), 默认值=None) – 样本权重。

  • multioutput ({'raw_values', 'uniform_average', 'variance_weighted'}, array-like of shape (n_outputs,) or None, default='uniform_average') –

    定义多个输出分数的聚合。 类数组值定义用于平均分数的权重。 默认值为“uniform_average”。

    ’raw_values’ :

    在多输出输入的情况下返回完整的分数集。

    ’uniform_average’ :

    所有输出的分数都用统一权重进行平均。

    ’variance_weighted’ :

    所有输出的分数被平均,按每个单独输出的方差加权。

Returns

z – \(R^2\) 分数或如果‘multioutput’为‘raw_values’时的分数ndarray。

Return type

float 或浮点数的张量

备注

这不是一个对称函数。

与大多数其他评分不同,\(R^2\) 评分可能是负数(它不一定是某个量 R 的平方)。

该指标对于单个样本定义不明确,如果n_samples小于二,则将返回NaN值。

参考文献

1

关于决定系数的维基百科条目

示例

>>> from mars.learn.metrics import r2_score
>>> y_true = [3, -0.5, 2, 7]
>>> y_pred = [2.5, 0.0, 2, 8]
>>> r2_score(y_true, y_pred)
0.948...
>>> y_true = [[0.5, 1], [-1, 1], [7, -6]]
>>> y_pred = [[0, 2], [-1, 2], [8, -5]]
>>> r2_score(y_true, y_pred,
...          multioutput='variance_weighted')
0.938...
>>> y_true = [1, 2, 3]
>>> y_pred = [1, 2, 3]
>>> r2_score(y_true, y_pred)
1.0
>>> y_true = [1, 2, 3]
>>> y_pred = [2, 2, 2]
>>> r2_score(y_true, y_pred)
0.0
>>> y_true = [1, 2, 3]
>>> y_pred = [3, 2, 1]
>>> r2_score(y_true, y_pred)
-3.0