Spec-Zone.ru › scikit-learn

OutputCodeClassifier

classsklearn.multiclass.OutputCodeClassifier(estimator, *, code_size=1.5, random_state=None, n_jobs=None)[source]

(Исправляющая ошибки) стратегия многоклассовой классификации «выходной код».

Стратегии, основанные на «выходном коде», заключаются в представлении каждого класса двоичным кодом (массивом 0 и 1). Во время обучения подгоняется по одному двоичному классификатору на каждый бит в кодовой книге. Во время предсказания классификаторы используются для проекции новых точек в пространство классов, и выбирается класс, наиболее близкий к точкам. Основное преимущество этих стратегий заключается в том, что количество используемых классификаторов может контролироваться пользователем, либо для сжатия модели (0 < code_size < 1), либо для повышения устойчивости модели к ошибкам (code_size > 1). Более подробную информацию см. в документации.

Подробнее см. в Руководстве пользователя.

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

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

code_sizeвещественное число, по умолчанию=1.5

Процент от количества классов, используемых для создания кодовой книги. Число между 0 и 1 потребует меньше классификаторов, чем one-vs-the-rest. Число больше 1 потребует больше классификаторов, чем one-vs-the-rest.

random_stateцелое число, экземпляр RandomState, по умолчанию=None

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

n_jobsцелое число, по умолчанию=None

Количество задач для использования при вычислении: задачи многоклассовой классификации вычисляются параллельно.

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

Атрибуты:
estimators_список из int(n_classes * code_size) оценщиков

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

classes_массив формы (n_classes,)

Массив, содержащий метки.

code_book_массив формы (n_classes, len(estimators_))

Двоичный массив, содержащий код каждого класса.

n_features_in_целое число

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

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

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

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

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

См. также

OneVsRestClassifier

Стратегия многоклассовой классификации «один против всех».

OneVsOneClassifier

Стратегия многоклассовой классификации «один против одного».

Ссылки

[1]

«Solving multiclass learning problems via error-correcting output codes”, Dietterich T., Bakiri G., Журнал искусственного интеллекта 2, 1995.

[2]

«The error coding method and PICTs”, James G., Hastie T., Журнал вычислительной и графической статистики 7, 1998.

[3]

«The Elements of Statistical Learning», Hastie T., Tibshirani R., Friedman J., стр. 606 (второе издание) 2008.

Примеры

>>> from sklearn.multiclass import OutputCodeClassifier
>>> from sklearn.ensemble import RandomForestClassifier
>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(n_samples=100, n_features=4,
...                            n_informative=2, n_redundant=0,
...                            random_state=0, shuffle=False)
>>> clf = OutputCodeClassifier(
...     estimator=RandomForestClassifier(random_state=0),
...     random_state=0).fit(X, y)
>>> clf.predict([[0, 0, 0, 0]])
array([1])
fit(X, y, **fit_params)[source]

Обучение базовых оценщиков.

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

Данные.

yмассив формы (n_samples,)

Метки многоклассовой классификации.

**fit_paramsсловарь

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

Добавлен в версии 1.4: Доступно только если enable_metadata_routing=True. См. Руководство пользователя по маршрутизации метаданных для получения дополнительной информации.

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

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

get_metadata_routing()[source]

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

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

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

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

Объект MetadataRouter, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

Получение параметров этого оценщика.

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

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

Возвращаемое значение:
paramsсловарь

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

predict(X)[source]

Предсказание меток многоклассовой классификации с помощью базовых оценщиков.

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

Данные.

Возвращаемое значение:
yмассив формы (n_samples,)

Предсказанные метки многоклассовой классификации.

END_OF_DOCUMENT_MARKER
score(X, y, sample_weight=None)[source]

Возвращает среднюю точность на заданных тестовых данных и метках.

В многоклассовой классификации это точность подмножества, которая является жёстким метрикой, так как для каждого образца требуется, чтобы каждый набор меток был правильно предсказан.

Параметры:
Xarray-like of shape (n_samples, n_features)

Тестовые образцы.

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

Истинные метки для X.

sample_weightarray-like of shape (n_samples,), default=None

Веса образцов.

Возвращает:
scorefloat

Средняя точность self.predict(X) по отношению к y.

set_params(**params)[source]

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

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

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

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

Возвращает:
selfestimator instance

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

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

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

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

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

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

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

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

Примечание

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

Параметры:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

Возвращает:
selfobject

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

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

Обзор мета-оценщиков для многоклассовой подготовки

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

Spec-Zone.ru

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