Spec-Zone.ru › scikit-learn

Многовыходный классификатор

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

Spec-Zone.ru

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