MultiOutputClassifier
- classsklearn.multioutput.MultiOutputClassifier(estimator, *, n_jobs=None)[исходный код]
-
Классификация с несколькими целевыми переменными.
Эта стратегия заключается в обучении одного классификатора для каждой целевой переменной. Это простой способ расширить возможности классификаторов, которые изначально не поддерживают классификацию с несколькими целевыми переменными.
- Параметры:
-
- estimatorобъект-оцениватель
-
Объект-оцениватель, реализующий fit и predict. Метод predict_proba будет доступен только в том случае, если
estimatorего реализует. - n_jobsцелое число или None, необязательный параметр (по умолчанию=None)
-
Количество параллельно выполняемых заданий.
fit,predictиpartial_fit(если переданный оцениватель поддерживает эти методы) будут выполняться параллельно для каждой целевой переменной.Если отдельные оцениватели быстро обучаются или выполняют предсказания, использование
n_jobs > 1может снизить производительность из-за накладных расходов на параллельное выполнение.Noneозначает1, если только не используется контекстjoblib.parallel_backend.-1означает использование всех доступных процессов / потоков. Подробнее см. в глоссарии.Изменено в версии 0.20: значение
n_jobsпо умолчанию изменено с1наNone.
- Атрибуты:
-
- classes_ndarray формы (n_classes,)
-
Метки классов.
-
estimators_список оценивателей
n_output -
Оцениватели, используемые для предсказаний.
- n_features_in_целое число
-
Количество признаков, обнаруженных во время fit. Определён только в том случае, если базовый
estimatorпредоставляет такой атрибут при обучении.Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Названия признаков, обнаруженных во время fit. Определён только в том случае, если базовые оцениватели предоставляют такой атрибут при обучении.
Добавлено в версии 1.0.
См. также
ClassifierChain-
Модель для многометочной классификации, объединяющая бинарные классификаторы в цепочку.
MultiOutputRegressor-
Обучает один регрессор для каждой целевой переменной.
Примеры
>>> import numpy as np >>> from sklearn.datasets import make_multilabel_classification >>> from sklearn.multioutput import MultiOutputClassifier >>> from sklearn.linear_model import LogisticRegression >>> X, y = make_multilabel_classification(n_classes=3, random_state=0) >>> clf = MultiOutputClassifier(LogisticRegression()).fit(X, y) >>> clf.predict(X[-2:]) array([[1, 1, 1], [1, 0, 1]])- fit(X, Y, sample_weight=None, **fit_params)[исходный код]
-
Обучить модель на матрице данных X и целевых значениях Y.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Входные данные.
- Yarray-like формы (n_samples, n_classes)
-
Целевые значения.
- sample_weightarray-like формы (n_samples,), по умолчанию=None
-
Веса выборок. Если
None, все выборки имеют одинаковый вес. Поддерживается только в том случае, если базовый классификатор поддерживает веса выборок. - **fit_paramsсловарь строка -> объект
-
Параметры, передаваемые методу
estimator.fitкаждого этапа.Добавлено в версии 0.23.
- Возвращает:
-
- selfобъект
-
Возвращает обученный экземпляр.
- get_metadata_routing()[исходный код]
-
Получить настройки маршрутизации метаданных этого объекта.
Описание работы механизма маршрутизации см. в руководстве пользователя.
Добавлено в версии 1.3.
- Возвращает:
-
- routingMetadataRouter
-
Объект
MetadataRouter, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценивателя.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, будут возвращены параметры этого оценивателя и содержащихся в нём подобъектов, являющихся оценивателями.
- Возвращает:
-
- paramsdict
-
Имена параметров и соответствующие им значения.
- partial_fit(X, y, classes=None, sample_weight=None, **partial_fit_params)[исходный код]
-
Инкрементально обучить отдельную модель для каждого выходного класса.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Входные данные.
- y{array-like, разреженная матрица} формы (n_samples, n_outputs)
-
Целевые значения для нескольких выходов.
- classesсписок ndarray формы (n_outputs,), по умолчанию=None
-
Каждый массив содержит уникальные классы для одного выхода в формате str/int. Их можно получить с помощью
[np.unique(y[:, i]) for i in range(y.shape[1])], гдеy— целевая матрица всего набора данных. Этот аргумент необходим при первом вызове partial_fit и может быть опущен при последующих вызовах. Обратите внимание, чтоyне обязательно должен содержать все метки изclasses. - sample_weightarray-like формы (n_samples,), по умолчанию=None
-
Веса выборок. Если
None, все выборки имеют одинаковый вес. Поддерживается только в том случае, если базовый регрессор поддерживает веса выборок. - **partial_fit_paramsсловарь str -> object
-
Параметры, передаваемые методу
estimator.partial_fitкаждого подобъекта-оценивателя.Доступно только если
enable_metadata_routing=True. См. руководство пользователя.Добавлено в версии 1.3.
- Возвращает:
-
- selfобъект
-
Возвращает обученный экземпляр.
- predict(X)[исходный код]
-
Предсказать значения переменных для нескольких выходов, используя модель для каждой целевой переменной.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Входные данные.
- Возвращает:
-
- y{array-like, разреженная матрица} формы (n_samples, n_outputs)
-
Целевые значения для нескольких выходов, предсказанные несколькими моделями. Примечание: для каждого предиктора создаются отдельные модели.
- predict_proba(X)[исходный код]
-
Вернуть вероятности предсказания для каждого класса каждого выхода.
Этот метод вызовет
ValueError, если у какого-либо оценивателя нетpredict_proba.- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Входные данные.
- Возвращает:
-
- pмассив формы (n_samples, n_classes) или список из n_outputs таких массивов, если n_outputs > 1.
-
Вероятности классов для входных выборок. Порядок классов соответствует порядку в атрибуте classes_.
Изменено в версии 0.19: теперь эта функция возвращает список массивов, длина которого равна
n_outputs, а форма каждого массива для соответствующего выхода — (n_samples,n_classes).
- score(X, y)[исходный код]
-
Вернуть среднюю точность на указанных тестовых данных и метках.
- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Тестовые выборки.
- yarray-like формы (n_samples, n_outputs)
-
Истинные значения для X.
- Возвращает:
-
- scoresfloat
-
Средняя точность предсказанных целевых значений относительно истинных.
- set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') MultiOutputClassifier[исходный код]
-
Настроить, следует ли запрашивать передачу метаданных методу
fit.Обратите внимание, что этот метод имеет значение только тогда, когда данный оцениватель используется как подобъект-оцениватель внутри метаоценивателя, а маршрутизация метаданных включена с помощью
enable_metadata_routing=True(см.sklearn.set_config). Описание работы механизма маршрутизации см. в руководстве пользователя.Для каждого параметра доступны следующие варианты:
-
True: метаданные запрашиваются и передаются вfit, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется. -
False: метаданные не запрашиваются, и метаоцениватель не будет передавать их вfit. -
None: метаданные не запрашиваются; если пользователь их предоставит, метаоцениватель вызовет ошибку. -
str: метаданные следует передавать метаоценивателю под указанным псевдонимом вместо исходного имени.
Значение по умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет текущий запрос. Это позволяет изменить запрос для одних параметров, не меняя его для других.Добавлено в версии 1.3.
- Параметры:
-
- sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightметодаfit.
- Возвращает:
-
- selfобъект
-
Обновлённый объект.
-
- set_params(**params)[исходный код]
-
Задать параметры этого оценивателя.
Метод работает как с простыми оценивателями, так и с вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценивателя.
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- set_partial_fit_request(*, classes:bool|None|str='$UNCHANGED$', sample_weight:bool|None|str='$UNCHANGED$') MultiOutputClassifier[исходный код]
-
Настроить, следует ли запрашивать передачу метаданных методу
partial_fit.Обратите внимание, что этот метод имеет значение только тогда, когда данный оцениватель используется как подобъект-оцениватель внутри метаоценивателя, а маршрутизация метаданных включена с помощью
enable_metadata_routing=True(см.sklearn.set_config). Описание работы механизма маршрутизации см. в руководстве пользователя.Для каждого параметра доступны следующие варианты:
-
True: метаданные запрашиваются и передаются вpartial_fit, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется. -
False: метаданные не запрашиваются, и метаоцениватель не будет передавать их вpartial_fit. -
None: метаданные не запрашиваются; если пользователь их предоставит, метаоцениватель вызовет ошибку. -
str: метаданные следует передавать метаоценивателю под указанным псевдонимом вместо исходного имени.
Значение по умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет текущий запрос. Это позволяет изменить запрос для одних параметров, не меняя его для других.Добавлено в версии 1.3.
- Параметры:
-
- classesstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
classesметодаpartial_fit. - sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightметодаpartial_fit.
- Возвращает:
-
- selfобъект
-
Обновлённый объект.
-
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.multioutput.MultiOutputClassifier.html