Spec-Zone.ru › scikit-learn

Многовыходной регрессор

классsklearn.multioutput.MultiOutputRegressor(estimator, *, n_jobs=None)[source]

Мультицелевая регрессия.

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

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

Параметры:
estimatorобъект оценщика

Объект оценщика, реализующий fit и predict.

n_jobsint или None, необязательно (по умолчанию=None)

Количество задач для выполнения параллельно. fit, predict и partial_fit (если поддерживается переданным оценщиком) будут выполнены параллельно для каждого целевого показателя.

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

None означает 1 за исключением контекста joblib.parallel_backend. -1 означает использование всех доступных процессов / потоков. Подробности см. в Словаре.

Изменено в версии 0.20: n_jobs значение по умолчанию изменено с 1 на None.

Атрибуты:
estimators_список из n_output оценщиков

Оценщики, используемые для прогнозирования.

n_features_in_int

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

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

feature_names_in_массив формы (n_features_in_,)

Названия признаков, увиденных во время fit. Определяется только если базовые оценщики предоставляют такой атрибут при fit.

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

См. также

RegressorChain

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

MultiOutputClassifier

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

Примеры

>>> import numpy as np
>>> from sklearn.datasets import load_linnerud
>>> from sklearn.multioutput import MultiOutputRegressor
>>> from sklearn.linear_model import Ridge
>>> X, y = load_linnerud(return_X_y=True)
>>> regr = MultiOutputRegressor(Ridge(random_state=123)).fit(X, y)
>>> regr.predict(X[[0]])
array([[176..., 35..., 57...]])
fit(X, y, sample_weight=None, **fit_params)[source]

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

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

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

y{array-like, разреженная матрица} формы (n_samples, n_outputs)

Многомерные целевые переменные. Матрица индикаторов включает многомерную оценку.

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

Веса выборок. Если None, то выборки имеют одинаковый вес. Поддерживается только если базовый регрессор поддерживает веса выборок.

**fit_paramsсловарь строка -> объект

Параметры, передаваемые методу estimator.fit каждого шага.

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

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

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

get_metadata_routing()[source]

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

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

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

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

MetadataRouter encapsulating routing information.

get_params(deep=True)[source]

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

Параметры:
deepbool, по умолчанию=True

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

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

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

partial_fit(X, y, sample_weight=None, **partial_fit_params)[source]

Инкрементальное обучение модели на данных, для каждого выходного значения.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

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

y{array-like, разреженная матрица} формы (n_samples, n_outputs)

Многомерные целевые переменные.

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

Веса выборок. Если None, то выборки имеют одинаковый вес. Поддерживается только если базовый регрессор поддерживает веса выборок.

**partial_fit_paramsdict строка -> объект

Параметры, передаваемые методу estimator.partial_fit каждого под-оценщика.

Доступно только если enable_metadata_routing=True. См. Руководство пользователя.

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

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

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

predict(X)[source]

Предсказание многомерной переменной с использованием модели для каждой целевой переменной.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

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

Возвращаемые значения:
y{array-like, разреженная матрица} формы (n_samples, n_outputs)

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

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_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → MultiOutputRegressor[source]

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

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

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

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

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

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

Примечание

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

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

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

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

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

set_params(**params)[source]

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

Returns:
selfobject

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

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

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

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

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

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

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

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

Примечание

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

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

Returns:
selfobject

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

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

Сравнение случайных лесов и мета-оценщика для регрессии с несколькими выходами

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

Spec-Zone.ru

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