sklearn.metrics.r2_score — scikit-learn 0.20.4 documentation (original) (raw)

R^2 (coefficient of determination) regression score function.

Best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of y, disregarding the input features, would get a R^2 score of 0.0.

This is not a symmetric function.

Unlike most other scores, R^2 score may be negative (it need not actually be the square of a quantity R).

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