Spec-Zone.ru › scikit-learn

RegressorMixin

classsklearn.base.RegressorMixin[исходный код]

Класс-примесь для всех регрессионных оценивателей в scikit-learn.

Этот класс-примесь определяет следующие возможности:

  • устанавливает тип оценивателя в "regressor" с помощью тега estimator_type;
  • метод score, который по умолчанию использует r2_score.
  • обеспечивает, чтобы для fit требовалась передача y через тег requires_y; это достигается установкой тега типа регрессора.

Подробнее см. в руководстве пользователя.

Примеры

>>> 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)[исходный код]

Возвращает коэффициент детерминации на тестовых данных.

Коэффициент детерминации, \(R^2\), определяется как \((1 - \frac{u}{v})\), где \(u\) — сумма квадратов остатков ((y_true - y_pred)** 2).sum(), а \(v\) — общая сумма квадратов ((y_true - y_true.mean()) ** 2).sum(). Наилучшее возможное значение оценки равно 1.0, но она может быть отрицательной (так как модель может быть сколь угодно хуже). Постоянная модель, которая всегда предсказывает ожидаемое значение y, игнорируя входные признаки, получит оценку \(R^2\), равную 0.0.

Параметры:
Xмассивоподобный объект формы (n_samples, n_features)

Тестовые образцы. Для некоторых оценивателей это может быть предварительно вычисленная матрица ядра или список произвольных объектов формы (n_samples, n_samples_fitted), где n_samples_fitted — число образцов, использованных при обучении оценивателя.

yмассивоподобный объект формы (n_samples,) или (n_samples, n_outputs)

Истинные значения для X.

sample_weightмассивоподобный объект формы (n_samples,), по умолчанию=None

Веса образцов.

Возвращает:
scorefloat

\(R^2\) для self.predict(X) относительно y.

Примечания

Оценка \(R^2\), используемая при вызове score для регрессора, начиная с версии 0.23 использует multioutput='uniform_average' для согласования со значением по умолчанию r2_score. Это влияет на метод score всех регрессоров с несколькими выходами (за исключением MultiOutputRegressor).

Примеры в галерее

Разработка оценивателей, совместимых с маршрутизацией метаданных

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.base.RegressorMixin.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API