OutputCodeClassifier
- classsklearn.multiclass.OutputCodeClassifier(estimator, *, code_size=1.5, random_state=None, n_jobs=None)[исходный код]
-
Многоклассовая стратегия выходного кода (с коррекцией ошибок).
Стратегии на основе выходного кода представляют каждый класс двоичным кодом (массивом из 0 и 1). Во время обучения для каждого бита в кодовой книге обучается отдельный двоичный классификатор. Во время предсказания классификаторы используются для проецирования новых точек в пространство классов, после чего выбирается класс, наиболее близкий к этим точкам. Главное преимущество этих стратегий заключается в том, что пользователь может управлять количеством используемых классификаторов: как для сжатия модели (0 <
code_size< 1), так и для повышения устойчивости модели к ошибкам (code_size> 1). Подробнее см. в документации.Подробнее см. в Руководстве пользователя.
- Параметры:
-
- estimatorобъект-оценщик
-
Объект-оценщик, реализующий fit и один из методов decision_function или predict_proba.
- code_sizefloat, по умолчанию=1.5
-
Доля количества классов, используемая для создания кодовой книги. Значение от 0 до 1 потребует меньше классификаторов, чем стратегия «один против остальных». Значение больше 1 потребует больше классификаторов, чем стратегия «один против остальных».
- random_stateint, экземпляр RandomState, по умолчанию=None
-
Генератор, используемый для инициализации кодовой книги. Передайте целое число, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий.
- n_jobsint, по умолчанию=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.
-
estimators_список оценщиков
См. также
OneVsRestClassifier-
Многоклассовая стратегия «один против всех».
OneVsOneClassifier-
Многоклассовая стратегия «один против одного».
Литература
[1]«Решение задач многоклассового обучения с помощью кодов выходных данных с коррекцией ошибок», Dietterich T., Bakiri G., Journal of Artificial Intelligence Research 2, 1995.
[2]«Метод кодирования ошибок и PICTs», James G., Hastie T., Journal of Computational and Graphical statistics 7, 1998.
[3]«Элементы статистического обучения», 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)[исходный код]
-
Обучить базовые оценщики.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Данные.
- yarray-like формы (n_samples,)
-
Многоклассовые целевые значения.
- **fit_paramsdict
-
Параметры, передаваемые методу
estimator.fitкаждого вспомогательного оценщика.Добавлено в версии 1.4: Доступно только при
enable_metadata_routing=True. Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- selfобъект
-
Возвращает обученный экземпляр self.
- get_metadata_routing()[исходный код]
-
Получить настройки маршрутизации метаданных этого объекта.
О том, как работает механизм маршрутизации, см. в руководстве пользователя.
Добавлено в версии 1.4.
- Возвращает:
-
- routingMetadataRouter
-
MetadataRouter, содержащий информацию о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, возвращает параметры этого оценщика и содержащихся в нём объектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- predict(X)[исходный код]
-
Предсказать многоклассовые целевые значения с помощью базовых оценщиков.
- Параметры:
-
- X{array-like, разреженная матрица} формы (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). У последних параметры имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- 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.
- Возвращает:
-
- selfобъект
-
Обновлённый объект.
-
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.multiclass.OutputCodeClassifier.html