RegressorMixin (original) (raw)

class sklearn.base.RegressorMixin[source]#

Mixin class for all regression estimators in scikit-learn.

This mixin defines the following functionality:

Read more in the User Guide.

Examples

import numpy as np from sklearn.base import BaseEstimator, RegressorMixin

Mixin classes should always be on the left-hand side for a correct MRO

class MyEstimator(RegressorMixin, BaseEstimator): ... def init(self, *, param=1): ... self.param = param ... def fit(self, X, y=None): ... self.is_fitted_ = True ... return self ... def predict(self, X): ... return np.full(shape=X.shape[0], fill_value=self.param) estimator = MyEstimator(param=0) X = np.array([[1, 2], [2, 3], [3, 4]]) y = np.array([-1, 0, 1]) estimator.fit(X, y).predict(X) array([0, 0, 0]) estimator.score(X, y) 0.0

score(X, y, sample_weight=None)[source]#

Return the coefficient of determination of the prediction.

The coefficient of determination \(R^2\) is defined as\((1 - \frac{u}{v})\), where \(u\) is the residual sum of squares ((y_true - y_pred)** 2).sum() and \(v\)is the total sum of squares ((y_true - y_true.mean()) ** 2).sum(). The 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.

Parameters:

Xarray-like of shape (n_samples, n_features)

Test samples. For some estimators this may be a precomputed kernel matrix or a list of generic objects instead with shape(n_samples, n_samples_fitted), where n_samples_fittedis the number of samples used in the fitting for the estimator.

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

True values for X.

sample_weightarray-like of shape (n_samples,), default=None

Sample weights.

Returns:

scorefloat

\(R^2\) of self.predict(X) w.r.t. y.

Notes

The \(R^2\) score used when calling score on a regressor usesmultioutput='uniform_average' from version 0.23 to keep consistent with default value of r2_score. This influences the score method of all the multioutput regressors (except forMultiOutputRegressor).