Wrapper for https://scikit-learn.org/stable/modules/generated/sklearn.metrics.r2_score.html
:math: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). In the general case when the true y is
non-constant, a constant model that always predicts the average y
disregarding the input features would get a :math:`R^2` score of 0.0.

In the particular case when ``y_true`` is constant, the :math:`R^2` score
is not finite: it is either ``NaN`` (perfect predictions) or ``-Inf``
(imperfect predictions). To prevent such non-finite numbers to pollute
higher-level experiments such as a grid search cross-validation, by default
these cases are replaced with 1.0 (perfect predictions) or 0.0 (imperfect
predictions) respectively. You can set ``force_finite`` to ``False`` to
prevent this fix from happening.

Note: when the prediction residuals have zero mean, the :math:`R^2` score
is identical to the
`Explained Variance score <explained_variance_score>`.

Parameters
----------
solution : DataFrame of shape (n_samples,) or (n_samples, n_outputs)
Ground truth (correct) target values.

submission : DataFrame of shape (n_samples,) or (n_samples, n_outputs)
Estimated target values.

weights_column_name: optional str, the name of the sample weights column in the solution file.

<https://en.wikipedia.org/wiki/Coefficient_of_determination>`

