Skip to content

R2

Coefficient of determination (\(R^2\)) score

The coefficient of determination, denoted \(R^2\) or \(r^2\), is the proportion of the variance in the dependent variable that is predictable from the independent variable(s). 1

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.

\(R^2\) is not defined when less than 2 samples have been observed. This implementation returns 0.0 in this case.

Attributes

  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

Examples

>>> from river import metrics

>>> y_true = [3, -0.5, 2, 7]
>>> y_pred = [2.5, 0.0, 2, 8]

>>> metric = metrics.R2()

>>> for yt, yp in zip(y_true, y_pred):
...     print(metric.update(yt, yp).get())
0.0
0.9183
0.9230
0.9486

Methods

get

Return the current value of the metric.

is_better_than
revert

Revert the metric.

Parameters

  • y_true (numbers.Number)
  • y_pred (numbers.Number)
  • sample_weight – defaults to 1.0
update

Update the metric.

Parameters

  • y_true (numbers.Number)
  • y_pred (numbers.Number)
  • sample_weight – defaults to 1.0
works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model (river.base.estimator.Estimator)

References