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.
- estimators_список
Смотрите также
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
Обновленный объект.