RegressorMixin#

class sklearn.base.RegressorMixin[Quelle]#

Mixin-Klasse für alle Regressions-Schätzer in scikit-learn.

Dieser Mixin definiert die folgende Funktionalität

  • setzt den Estimator-Typ durch das Tag estimator_type auf "regressor";

  • score Methode, die standardmäßig r2_score verwendet.

  • erzwingt, dass fit y über das Tag requires_y übergeben muss, was durch Setzen des Regressor-Typ-Tags geschieht.

Lesen Sie mehr im Benutzerhandbuch.

Beispiele

>>> 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)[Quelle]#

Gibt den Bestimmtheitskoeffizienten auf Testdaten zurück.

Der Bestimmtheitskoeffizient, \(R^2\), ist definiert als \((1 - \frac{u}{v})\), wobei \(u\) die Summe der quadrierten Residuen ist ((y_true - y_pred)** 2).sum() und \(v\) die totale Summe der Quadrate ist ((y_true - y_true.mean()) ** 2).sum(). Der bestmögliche Score ist 1.0 und er kann negativ sein (da das Modell beliebig schlechter sein kann). Ein konstantes Modell, das immer den erwarteten Wert von y vorhersagt, unabhängig von den Eingabemerkmalen, würde einen \(R^2\)-Score von 0.0 erhalten.

Parameter:
Xarray-like der Form (n_samples, n_features)

Teststichproben. Für einige Schätzer kann dies eine vorab berechnete Kernelmatrix oder eine Liste von generischen Objekten sein, stattdessen mit der Form (n_samples, n_samples_fitted), wobei n_samples_fitted die Anzahl der für die Anpassung des Schätzers verwendeten Stichproben ist.

yarray-like der Form (n_samples,) oder (n_samples, n_outputs)

Wahre Werte für X.

sample_weightarray-like der Form (n_samples,), Standardwert=None

Stichprobengewichte.

Gibt zurück:
scorefloat

\(R^2\) von self.predict(X) bezogen auf y.

Anmerkungen

Der \(R^2\)-Score, der beim Aufruf von score auf einem Regressor verwendet wird, nutzt ab Version 0.23 multioutput='uniform_average', um mit dem Standardwert von r2_score konsistent zu bleiben. Dies beeinflusst die score Methode aller Multi-Output-Regressoren (mit Ausnahme von MultiOutputRegressor).