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