Spec-Zone.ru › scikit-learn

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

Spec-Zone.ru

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