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.
-
estimators_список из
См. также
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,)
-
Предсказанные метки многоклассовой классификации.
- 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