sklearn.metrics.r2_score¶
sklearn.metrics.r2_score(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average')
R^2(确定系数)回归得分函数。
最佳可能得分为1.0,并且可能为负(因为该模型可能会更差)。 不管输入特征如何,始终预测y的期望值的常数模型将获得0.0的R^2分数。
在用户指南中阅读更多内容。
参数 | 说明 |
---|---|
y_true | array-like of shape (n_samples,) or (n_samples, n_outputs) 真实目标值。 |
y_pred | array-like of shape (n_samples,) or (n_samples, n_outputs) 预测目标值。 |
sample_weight | array-like of shape (n_samples,), optional 样本权重。 |
multioutput | string in [‘raw_values’, ‘uniform_average’, ‘variance_weighted’] or None or array-like of shape (n_outputs) 定义多个输出分数的汇总。类数组值定义用于平均分数的权重。 默认值为“ uniform_average”。 - ‘raw_values’: 如果是多输出格式的输入,则返回完整的分数集。 - ‘uniform_average’: 所有产出的分数均以统一权重平均。 - ‘variance_weighted’: 将所有输出的分数平均,并按每个单独输出的方差加权。 在版本0.19中更改:多输出的默认值为“ uniform_average”。 |
返回值 | 说明 |
---|---|
z | float or ndarray of floats 如果‘multioutput’为‘raw_values’,则为R^2分数或分数的ndarray。 |
注
这不是对称函数。
与大多数其他分数不同,R^2分数可能为负(实际上不必为数量R的平方)。
这个度量标准没有为单个样本定义,如果n_samples小于2,则将返回NaN值。
参考
1 Wikipedia entry on the Coefficient of determination
示例
>>> from sklearn.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