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