Spec-Zone.ru › scikit-learn

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.

См. также

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

Spec-Zone.ru

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