Spec-Zone.ru › scikit-learn

RegressorChain

classsklearn.multioutput.RegressorChain(estimator, *, order=None, cv=None, random_state=None, verbose=False)[исходный код]

Модель для многометочной регрессии, объединяющая регрессоры в цепочку.

Каждая модель выполняет предсказание в порядке, заданном цепочкой, используя все доступные признаки, переданные модели, а также предсказания моделей, расположенных в цепочке раньше.

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

Добавлено в версии 0.20.

Параметры:
estimatorestimator

Базовая модель, на основе которой строится цепочка регрессоров.

orderarray-like of shape (n_outputs,) or ‘random’, default=None

Если None, порядок определяется порядком столбцов в матрице меток Y.:

order = [0, 1, 2, ..., Y.shape[1] - 1]

Порядок цепочки можно задать явно, передав список целых чисел. Например, для цепочки длины 5.:

order = [1, 3, 2, 4, 0]

означает, что первая модель в цепочке будет выполнять предсказания для столбца 1 матрицы Y, вторая модель — для столбца 3 и т. д.

Если order имеет значение ‘random’, будет использован случайный порядок.

cvint, cross-validation generator or an iterable, default=None

Определяет, использовать ли для результатов предыдущих оценивателей в цепочке предсказания, полученные с помощью перекрёстной проверки, или истинные метки. Возможные значения cv:

  • None — использовать истинные метки при обучении,
  • целое число — задать число разбиений в (Stratified)KFold,
  • разбиватель для перекрёстной проверки,
  • итерируемый объект, выдающий разбиения (train, test) в виде массивов индексов.
random_stateint, RandomState instance or None, optional (default=None)

Если order='random', определяет генерацию случайных чисел для порядка цепочки. Кроме того, задаёт начальное значение генератора случайных чисел, передаваемое каждому base_estimator на каждой итерации построения цепочки. Поэтому параметр используется только тогда, когда base_estimator предоставляет random_state. Передайте целое число, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий.

verbosebool, default=False

Если True, по мере завершения каждой модели выводится ход построения цепочки.

Добавлено в версии 1.2.

Атрибуты:
estimators_list

Список копий базового оценивателя.

order_list

Порядок меток в цепочке регрессоров.

n_features_in_int

Количество признаков, обнаруженных при вызове fit. Определяется только в том случае, если базовый base_estimator предоставляет такой атрибут при обучении.

Добавлено в версии 0.24.

feature_names_in_ndarray of shape (n_features_in_,)

Названия признаков, обнаруженных при вызове fit. Определяется только тогда, когда X имеет названия признаков, представленные строками.

Добавлено в версии 1.0.

См. также

ClassifierChain

Эквивалент для классификации.

MultiOutputRegressor

Обучает отдельную модель для каждого выхода, не объединяя их в цепочку.

Примеры

>>> from sklearn.multioutput import RegressorChain
>>> from sklearn.linear_model import LogisticRegression
>>> logreg = LogisticRegression(solver='lbfgs')
>>> X, Y = [[1, 0], [0, 1], [1, 1]], [[0, 2], [1, 1], [2, 0]]
>>> chain = RegressorChain(logreg, order=[0, 1]).fit(X, Y)
>>> chain.predict(X)
array([[0., 2.],
       [1., 1.],
       [2., 0.]])
fit(X, Y, **fit_params)[исходный код]

Обучить модель на матрице данных X и целевых значениях Y.

Параметры:
X{array-like, sparse matrix} of shape (n_samples, n_features)

Входные данные.

Yarray-like of shape (n_samples, n_classes)

Целевые значения.

**fit_paramsdict of string -> object

Параметры, передаваемые методу fit на каждом шаге цепочки регрессоров.

Добавлено в версии 0.23.

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

Возвращает обученный экземпляр.

get_metadata_routing()[исходный код]

Получить настройки маршрутизации метаданных этого объекта.

О том, как работает механизм маршрутизации, см. в Руководстве пользователя.

Добавлено в версии 1.3.

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

MetadataRouter, содержащий сведения о маршрутизации.

get_params(deep=True)[исходный код]

Получить параметры этого оценивателя.

Параметры:
deepbool, default=True

Если True, будут возвращены параметры этого оценивателя и вложенных объектов, которые являются оценивателями.

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

Имена параметров и соответствующие им значения.

predict(X)[исходный код]

Выполнить предсказание для матрицы данных X с помощью модели ClassifierChain.

Параметры:
X{array-like, sparse matrix} of shape (n_samples, n_features)

Входные данные.

Возвращает:
Y_predarray-like of shape (n_samples, n_classes)

Предсказанные значения.

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.

Параметры:
Xarray-like of shape (n_samples, n_features)

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

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

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

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

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

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

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

Примечания

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

set_params(**params)[исходный код]

Задать параметры этого оценивателя.

Метод работает как с простыми оценивателями, так и с вложенными объектами (например, Pipeline). Параметры последних имеют вид <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценивателя.

Возвращает:
selfestimator instance

Экземпляр оценивателя.

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → RegressorChain[исходный код]

Настроить, следует ли запрашивать передачу метаданных методу score.

Обратите внимание, что этот метод имеет значение только тогда, когда данный оцениватель используется как вложенный оцениватель в составе метаоценивателя, а маршрутизация метаданных включена с помощью enable_metadata_routing=True (см. sklearn.set_config). О том, как работает механизм маршрутизации, см. в Руководстве пользователя.

Для каждого параметра доступны следующие варианты:

  • True: метаданные запрашиваются и передаются в score, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется.
  • False: метаданные не запрашиваются, и метаоцениватель не передаёт их в score.
  • None: метаданные не запрашиваются; если пользователь их передаст, метаоцениватель вызовет ошибку.
  • str: метаданные следует передавать метаоценивателю под указанным псевдонимом вместо исходного имени.

Значение по умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменить запрос для одних параметров, не меняя его для остальных.

Добавлено в версии 1.3.

Параметры:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в score.

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

Обновлённый объект.

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

Spec-Zone.ru

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