Spec-Zone.ru › scikit-learn

КлассификаторОдинПротивОстальных

классsklearn.multiclass.OneVsOneClassifier(estimator, *, n_jobs=None)[source]

Стратегия «один против одного» для многоклассовой классификации.

Эта стратегия заключается в подгонке одного классификатора для каждой пары классов. Во время предсказания выбирается класс, получивший наибольшее количество голосов. Поскольку для неё требуется подгонять n_classes * (n_classes - 1) / 2 классификаторов, этот метод обычно медленнее, чем метод «один против всех», из-за своей сложности O(n_classes^2). Однако этот метод может быть предпочтительнее для алгоритмов, таких как алгоритмы с ядром, которые плохо масштабируются с n_samples. Это связано с тем, что каждая отдельная задача обучения затрагивает только небольшое подмножество данных, в то время как при методе «один против всех» весь набор данных используется n_classes раз.

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

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

Регрессор или классификатор, реализующий fit. Если передан классификатор, в приоритете используется decision_function, а в случае отсутствия — predict_proba. Если передан регрессор, используется predict.

n_jobsint, по умолчанию None

Количество задач для вычисления: задачи n_classes * ( n_classes - 1) / 2 OVO вычисляются параллельно.

None означает 1, за исключением контекста joblib.parallel_backend. -1 означает использование всех процессоров. Подробнее см. Словарь.

Атрибуты:
estimators_список из n_classes * (n_classes - 1) / 2 оценщиков

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

classes_массив numpy формы [n_classes]

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

n_classes_int

Количество классов.

pairwise_indices_список, длина = len(estimators_), или None

Индексы выборок, используемых при обучении оценщиков. None, когда у estimator метка pairwise равна False.

n_features_in_int

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

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

feature_names_in_массив numpy формы (n_features_in_,)

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

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

См. также

OneVsRestClassifier

Стратегия «один против всех» для многоклассовой классификации.

OutputCodeClassifier

(Исправляющая ошибки) Стратегия выходных кодов для многоклассовой классификации.

Примеры

>>> from sklearn.datasets import load_iris
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.multiclass import OneVsOneClassifier
>>> from sklearn.svm import LinearSVC
>>> X, y = load_iris(return_X_y=True)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.33, shuffle=True, random_state=0)
>>> clf = OneVsOneClassifier(
...     LinearSVC(random_state=0)).fit(X_train, y_train)
>>> clf.predict(X_test[:10])
array([2, 1, 0, 2, 0, 2, 0, 1, 1, 1])
decision_function(X)[source]

Функция принятия решения для OneVsOneClassifier.

Значения решений для выборок вычисляются путём суммирования нормализованных сумм попарных классификационных уровней уверенности в голосах, чтобы различить значения решений, когда голоса для всех классов равны, что приводит к ничьей.

Параметры:
Xмассив-подобный формы (n_samples, n_features)

Входные данные.

Возвращает:
Yмассив-подобный формы (n_samples, n_classes) или (n_samples,)

Результат вызова decision_function на конечном оценщике.

Изменено в версии 0.19: форма выходных данных изменена на (n_samples,), чтобы соответствовать соглашениям scikit-learn для бинарной классификации.

fit(X, y, **fit_params)[source]

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

Параметры:
X{массив-подобный, разреженная матрица} формы (n_samples, n_features)

Данные.

yмассив-подобный формы (n_samples,)

Метки многоклассовой задачи.

**fit_paramsdict

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

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

Возвращает:
selfобъект

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

get_metadata_routing()[source]

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

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

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

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

MetadataRouter описывающий информацию о маршрутизации.

get_params(deep=True)[source]

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

Параметры:
deepbool, по умолчанию True

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

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

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

свойствоn_classes_

Количество классов.

partial_fit(X, y, classes=None, **partial_fit_params)[source]

Частичная подгонка базовых оценок.

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

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

Данные.

yarray-like of shape (n_samples,)

Многоклассовые целевые значения.

classesarray, shape (n_classes, )

Классы во всех вызовах partial_fit. Могут быть получены с помощью np.unique(y_all), где y_all — целевой вектор всего набора данных. Этот аргумент требуется только в первом вызове partial_fit и может быть опущен в последующих вызовах.

**partial_fit_paramsdict

Параметры, передаваемые методу estimator.partial_fit каждой под-оценки.

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

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

Частично обученная базовая оценка.

predict(X)[source]

Оценить наиболее подходящий метку класса для каждого образца в X.

Это реализовано как argmax(decision_function(X), axis=1), которое вернёт метку класса с наибольшим количеством голосов от оценок, предсказывающих результат решения для каждой пары возможных классов.

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

Данные.

Возвращает:
ynumpy array of shape [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_partial_fit_request(*, classes:bool|None|str='$UNCHANGED$') → OneVsOneClassifier[source]

Запрос метаданных, переданных методу partial_fit.

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

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

  • True: метаданные запрашиваются и передаются в partial_fit, если предоставлены. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются и мета-оценщик не передаст их в partial_fit.
  • None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь их предоставит.
  • str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо оригинального имени.

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

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

Примечание

Этот метод актуален только если данное оценочное средство используется как под-оценочное средство мета-оценочного средства, например, используется внутри Pipeline. В противном случае он не оказывает никакого влияния.

Параметры:
classesstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → OneVsOneClassifier[source]

Запрос метаданных, передаваемых методу score.

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

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

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

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

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

Примечание

Этот метод актуален только в том случае, если этот оценщик используется как под-оценщик мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

Returns:
selfobject

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

Примеры галереи

Обзор мета-оценщиков для обучения многоклассовых моделей

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.multiclass.OneVsOneClassifier.html

Spec-Zone.ru

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