OneVsOneClassifier
- classsklearn.multiclass.OneVsOneClassifier(estimator, *, n_jobs=None)[исходный код]
-
Стратегия классификации «один против одного» для нескольких классов.
Эта стратегия заключается в обучении одного классификатора для каждой пары классов. При прогнозировании выбирается класс, набравший наибольшее количество голосов. Поскольку для этого требуется обучить
n_classes * (n_classes - 1) / 2классификаторов, этот метод обычно медленнее, чем метод «один против остальных», из-за сложности O(n_classes^2). Однако этот метод может быть предпочтительным для таких алгоритмов, как ядерные алгоритмы, которые плохо масштабируются сn_samples. Это связано с тем, что каждая отдельная задача обучения использует лишь небольшую часть данных, тогда как при методе «один против остальных» используется весь набор данныхn_classesраз.Подробнее см. в Руководстве пользователя.
- Параметры:
-
- estimatorобъект-оцениватель
-
Регрессор или классификатор, реализующий fit. Если передан классификатор, в первую очередь будет использоваться decision_function, а если этот метод недоступен — predict_proba. Если передан регрессор, используется predict.
- n_jobsцелое число, по умолчанию None
-
Количество заданий для вычислений: задачи OVO
n_classes * ( n_classes - 1) / 2вычисляются параллельно.Noneозначает 1, если не используется контекстjoblib.parallel_backend.-1означает использование всех процессоров. Подробнее см. в глоссарии.
- Атрибуты:
-
-
estimators_список оценивателей
n_classes * (n_classes - 1) / 2 -
Оцениватели, используемые для прогнозирования.
- classes_массив numpy формы [n_classes]
-
Массив, содержащий метки.
-
n_classes_целое число -
Количество классов.
-
pairwise_indices_список длины
len(estimators_)илиNone -
Индексы образцов, использованных при обучении оценивателей.
None, если тегpairwiseобъектаestimatorравен False. - n_features_in_целое число
-
Количество признаков, обнаруженных при вызове fit.
Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Имена признаков, обнаруженных при вызове fit. Определяется, только если
Xсодержит имена признаков, представленные строками.Добавлено в версии 1.0.
-
estimators_список оценивателей
См. также
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)[исходный код]
-
Функция принятия решения для 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)[исходный код]
-
Обучает базовые оцениватели.
- Параметры:
-
- X{массивоподобный объект, разреженная матрица} формы (n_samples, n_features)
-
Данные.
- yмассивоподобный объект формы (n_samples,)
-
Целевые значения для нескольких классов.
- **fit_paramsсловарь
-
Параметры, передаваемые методу
estimator.fitкаждого подчиненного оценивателя.Добавлено в версии 1.4: Доступно, только если
enable_metadata_routing=True. Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- selfобъект
-
Обученный базовый оцениватель.
- get_metadata_routing()[исходный код]
-
Возвращает информацию о маршрутизации метаданных для этого объекта.
Ознакомьтесь с руководством пользователя, чтобы узнать, как работает механизм маршрутизации.
Добавлено в версии 1.4.
- Возвращает:
-
- routingMetadataRouter
-
MetadataRouter, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Возвращает параметры этого оценивателя.
- Параметры:
-
- deepлогическое значение, по умолчанию True
-
Если True, возвращает параметры этого оценивателя и содержащихся в нём вложенных объектов, которые являются оценивателями.
- Возвращает:
-
- paramsсловарь
-
Имена параметров и соответствующие им значения.
- partial_fit(X, y, classes=None, **partial_fit_params)[исходный код]
-
Частично обучает базовые оцениватели.
Следует использовать, когда обучение на всех данных требует слишком много памяти. Данные можно передавать частями за несколько итераций; при первом вызове необходимо передать массив всех целевых переменных.
- Параметры:
-
- X{массивоподобный объект, разреженная матрица} формы (n_samples, n_features)
-
Данные.
- yмассивоподобный объект формы (n_samples,)
-
Целевые значения для нескольких классов.
- classesмассив, форма (n_classes, )
-
Классы для всех вызовов partial_fit. Их можно получить с помощью
np.unique(y_all), где y_all — целевой вектор всего набора данных. Этот аргумент требуется только при первом вызове partial_fit и может быть опущен при последующих вызовах. - **partial_fit_paramsсловарь
-
Параметры, передаваемые методу
estimator.partial_fitкаждого подчиненного оценивателя.Добавлено в версии 1.4: Доступно, только если
enable_metadata_routing=True. Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- selfобъект
-
Частично обученный базовый оцениватель.
- predict(X)[исходный код]
-
Оценивает наиболее вероятную метку класса для каждого образца в X.
Это реализовано как
argmax(decision_function(X), axis=1): метод возвращает метку класса, набравшего больше всего голосов среди оценивателей, принимающих решение для каждой возможной пары классов.- Параметры:
-
- X{массивоподобный объект, разреженная матрица} формы (n_samples, n_features)
-
Данные.
- Возвращает:
-
- yмассив numpy формы [n_samples]
-
Предсказанные целевые значения для нескольких классов.
- score(X, y, sample_weight=None)[исходный код]
-
Возвращает точность на предоставленных данных и метках.
В многометочной классификации это точность по подмножествам. Это строгая метрика, поскольку для каждого образца требуется правильно предсказать весь набор меток.
- Параметры:
-
- Xмассивоподобный объект формы (n_samples, n_features)
-
Тестовые образцы.
- yмассивоподобный объект формы (n_samples,) или (n_samples, n_outputs)
-
Истинные метки для
X. - sample_weightмассивоподобный объект формы (n_samples,), по умолчанию None
-
Веса образцов.
- Возвращает:
-
- scoreчисло с плавающей точкой
-
Средняя точность
self.predict(X)относительноy.
- set_params(**params)[исходный код]
-
Задаёт параметры этого оценивателя.
Метод работает как с простыми оценивателями, так и с вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsсловарь
-
Параметры оценивателя.
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- set_partial_fit_request(*, classes:bool|None|str='$UNCHANGED$') OneVsOneClassifier[исходный код]
-
Настраивает, следует ли запрашивать передачу метаданных методу
partial_fit.Обратите внимание: этот метод актуален только тогда, когда данный оцениватель используется как подчиненный оцениватель в составе метаоценивателя и включена маршрутизация метаданных с помощью
enable_metadata_routing=True(см.sklearn.set_config). Ознакомьтесь с руководством пользователя, чтобы узнать, как работает механизм маршрутизации.Для каждого параметра доступны следующие варианты:
-
True: метаданные запрашиваются и передаются вpartial_fit, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется. -
False: метаданные не запрашиваются, и метаоцениватель не передаёт их вpartial_fit. -
None: метаданные не запрашиваются, и метаоцениватель вызовет ошибку, если пользователь их предоставит. -
str: метаданные передаются метаоценивателю под указанным псевдонимом вместо исходного имени.
Значение по умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет текущий запрос. Это позволяет изменить запрос для одних параметров, не затрагивая остальные.Добавлено в версии 1.3.
- Параметры:
-
- classesstr, True, False или None, по умолчанию sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
classesвpartial_fit.
- Возвращает:
-
- selfобъект
-
Обновлённый объект.
-
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') OneVsOneClassifier[исходный код]
-
Настраивает, следует ли запрашивать передачу метаданных методу
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.OneVsOneClassifier.html