Многовыходный классификатор
- classsklearn.multioutput.MultiOutputClassifier(estimator, *, n_jobs=None)[source]
-
Многоцелевая классификация.
Эта стратегия состоит в подгонке одного классификатора на каждый целевой признак. Это простая стратегия для расширения классификаторов, которые не поддерживают многоцелевую классификацию по умолчанию.
- Параметры:
-
- estimatorобъект-оценщик
-
Объект-оценщик, реализующий методы fit и predict. Метод predict_proba будет доступен только если
estimatorего реализует. - n_jobsint или None, необязательно (по умолчанию=None)
-
Количество задач, выполняемых параллельно.
fit,predictиpartial_fit(если поддерживается переданным оценщиком) будут выполняться параллельно для каждого целевого признака.Если отдельные оценщики быстро обучаются или делают предсказания, использование
n_jobs > 1может привести к более медленной работе из-за накладных расходов на параллелизм.Noneозначает1, за исключением контекстаjoblib.parallel_backend.-1означает использование всех доступных процессов/потоков. Смотрите Справочник для получения дополнительных сведений.Изменено в версии 0.20:
n_jobsзначение по умолчанию изменено с1наNone.
- Атрибуты:
-
- classes_массив формы (n_classes,)
-
Метки классов.
-
estimators_список оценок
n_output -
Используемые для предсказаний оценщики.
- n_features_in_int
-
Количество признаков, увиденных во время fit. Определяется только если базовый
estimatorпредоставляет такой атрибут при fit.Добавлен в версии 0.24.
-
feature_names_in_массив формы (
n_features_in_,) -
Имена признаков, увиденных во время fit. Определяется только если базовые оценщики предоставляют такой атрибут при 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)[source]
-
Обучает модель на матрице данных X и целевых значениях Y.
- Параметры:
-
- X{массив-подобный, разреженная матрица} формы (n_samples, n_features)
-
Входные данные.
- Yмассив-подобный формы (n_samples, n_classes)
-
Целевые значения.
- sample_weightмассив-подобный формы (n_samples,), по умолчанию=None
-
Веса образцов. Если
None, то образцы имеют равные веса. Поддерживается только если базовый классификатор поддерживает веса образцов. - **fit_paramsсловарь строка->объект
-
Параметры, передаваемые методу
estimator.fitкаждого шага.Добавлен в версии 0.23.
- Возвращаемые значения:
-
- selfобъект
-
Возвращает обученный экземпляр.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
Добавлен в версии 1.3.
- Возвращаемые значения:
-
- routingMetadataRouter
-
Объект
MetadataRouterдля инкапсуляции информации о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры этого оценщика и вложенных под-объектов, являющихся оценщиками.
- Возвращаемые значения:
-
- paramsсловарь
-
Имена параметров, сопоставленные с их значениями.
- partial_fit(X, y, classes=None, sample_weight=None, **partial_fit_params)[source]
-
Поэтапная подгонка отдельной модели для каждого выходного класса.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Входные данные.
- y{array-like, sparse matrix} формы (n_samples, n_outputs)
-
Многомерные целевые переменные.
- classesсписок массивов формы (n_outputs,), по умолчанию None
-
Каждый массив содержит уникальные классы для одного выходного значения в виде строк/целых чисел. Можно получить с помощью
[np.unique(y[:, i]) for i in range(y.shape[1])], гдеy— целевая матрица всего набора данных. Этот аргумент необходим для первого вызова partial_fit и может быть опущен в последующих вызовах. Обратите внимание, чтоyне обязательно должен содержать все метки вclasses. - sample_weightмассив-подобный формы (n_samples,), по умолчанию None
-
Веса выборок. Если
None, то выборки имеют одинаковые веса. Поддерживается только в том случае, если базовый регрессор поддерживает весовые коэффициенты выборок. - **partial_fit_paramsсловарь str -> object
-
Параметры, передаваемые методу
estimator.partial_fitкаждого под-эстиматора.Доступно только если
enable_metadata_routing=True. См. Руководство пользователя.Добавлена в версии 1.3.
- Возвращает:
-
- selfобъект
-
Возвращает обученную экземпляр.
- predict(X)[source]
-
Предсказание многомерной переменной с помощью модели для каждой целевой переменной.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Входные данные.
- Возвращает:
-
- y{array-like, sparse matrix} формы (n_samples, n_outputs)
-
Многомерные целевые переменные, предсказанные несколькими предикторами. Примечание: для каждого предиктора генерируются отдельные модели.
- predict_proba(X)[source]
-
Возвращает вероятности предсказания для каждого класса каждого выходного значения.
Этот метод вызовет
ValueError, если у любого из оценок нетpredict_proba.- Параметры:
-
- Xмассив-подобный формы (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)[source]
-
Возвращает среднюю точность на заданных тестовых данных и метках.
- Параметры:
-
- Xмассив-подобный формы (n_samples, n_features)
-
Тестовые выборки.
- yмассив-подобный формы (n_samples, n_outputs)
-
Истинные значения для X.
- Возвращает:
-
- scoresfloat
-
Средняя точность предсказанной целевой переменной по отношению к истинной целевой переменной.
- set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') MultiOutputClassifier[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(*, classes:bool|None|str='$UNCHANGED$', sample_weight:bool|None|str='$UNCHANGED$') MultiOutputClassifier[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. В противном случае он не оказывает никакого влияния.- Параметры:
-
- 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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.multioutput.MultiOutputClassifier.html