Spec-Zone.ru › scikit-learn

RegressorChain

classsklearn.multioutput.RegressorChain(base_estimator, *, order=None, cv=None, random_state=None, verbose=False)[source]

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

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

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

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

Параметры:
base_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,
  • разделитель CV,
  • Итерируемый объект, возвращающий (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

Список копий base_estimator.

order_list

Порядок меток в цепочке классификатора.

n_features_in_int

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

Добавлена в версии 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(base_estimator=logreg, order=[0, 1]).fit(X, Y)
>>> chain.predict(X)
array([[0., 2.],
       [1., 1.],
       [2., 0.]])
fit(X, Y, **fit_params)[source]

Обучить модель на матрице данных 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()[source]

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

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

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

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

MetadataRouter объект, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

Получить параметры данного алгоритма.

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

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

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

Имена параметров сопоставлены со значениями.

predict(X)[source]

Прогнозирование на матрице данных 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)[source]

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

Коэффициент детерминации \(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 формы (n_samples, n_features)

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

yarray-like формы (n_samples,) или (n_samples, n_outputs)

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

sample_weightarray-like формы (n_samples,), по умолчанию None

Веса выборок.

Возвращаемое значение:
scorefloat

\(R^2\) для self.predict(X) по отношению к y.

Примечания

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

set_params(**params)[source]

Устанавливает параметры этого оценщика.

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

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

Параметры оценщика.

Возвращаемое значение:
selfэкземпляр оценщика

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → RegressorChain[source]

Запрос метаданных, передаваемых методу score.

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

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются score при наличии. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не передаст их score.
  • None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь предоставит их.
  • str: метаданные должны быть переданы мета-оценщику с этим псевдонимом вместо оригинального имени.

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

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

Примечание

Этот метод актуален только если этот оценщик используется как под-оценщик мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает влияния.

Параметры:
sample_weightstr, True, False, или None, по умолчанию sklearn.utils.metadata_routing.UNCHANGED

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

Возвращаемое значение:
selfобъект

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

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

Spec-Zone.ru

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