OutputCodeClassifier#

класс sklearn.multiclass.OutputCodeClassifier(estimator, *, code_size=1.5, random_state=None, n_jobs=None)[источник]#

(Error-Correcting) Output-Code стратегия многоклассовой классификации.

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

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

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

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

code_sizefloat, по умолчанию=1.5

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

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

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

n_jobsint, default=None

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

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

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

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

classes_ndarray формы (n_classes,)

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

code_book_ndarray формы (n_classes, len(estimators_))

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

Смотрите также

OneVsRestClassifier

Многоклассовая стратегия "один против всех".

OneVsOneClassifier

Многоклассовая стратегия "один против одного".

Ссылки

[1]

“Solving multiclass learning problems via error-correcting output codes”, Dietterich T., Bakiri G., Journal of Artificial Intelligence Research 2, 1995.

[2]

"The error coding method and PICTs", James G., Hastie T., Journal of Computational and Graphical statistics 7, 1998.

[3]

“The Elements of Statistical Learning”, Хасти Т., Тибширани Р., Фридман Дж., страница 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)[источник]#

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

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Данные.

yarray-like формы (n_samples,)

Многоклассовые целевые переменные.

**fit_paramsdict

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

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

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

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

6332()[источник]#

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

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

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

Возвращает:
маршрутизацияMetadataRouter

A MetadataRouter Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

Получить параметры для этого оценщика.

Параметры:
глубокийbool, по умолчанию=True

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

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

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

predict(X)[источник]#

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

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Данные.

Возвращает:
yndarray формы (n_samples,)

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

score(X, y, sample_weight=None)[источник]#

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

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

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

Тестовые выборки.

yarray-like формы (n_samples,) или (n_samples, n_outputs)

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

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса выборок.

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

Средняя точность self.predict(X) относительно y.

set_params(**params)[источник]#

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

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

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

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

Возвращает:
selfэкземпляр estimator

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

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') OutputCodeClassifier[источник]#

Настроить, следует ли запрашивать передачу метаданных в score метод.

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

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

  • True: запрашиваются метаданные и передаются score если предоставлено. Запрос игнорируется, если метаданные не предоставлены.

  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в score.

  • None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.

  • str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.

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

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

Параметры:
sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

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

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