Классификатор Один-против-Остальных
- classsklearn.multiclass.OneVsRestClassifier(estimator, *, n_jobs=None, verbose=0)[source]
-
Многоклассовая стратегия «один-против-всех» (OvR).
Также известная как «один-против-остальных», эта стратегия заключается в подгонке одного классификатора на каждый класс. Для каждого классификатора класс подгоняется по отношению ко всем остальным классам. Помимо своей вычислительной эффективности (необходимо всего
n_classesклассификаторов), одно из преимуществ этого подхода — его интерпретируемость. Поскольку каждый класс представлен только одним классификатором, можно получить знания о классе, изучая соответствующий классификатор. Это наиболее часто используемая стратегия для многоклассовой классификации и является разумным выбором по умолчанию.OneVsRestClassifier также может быть использован для многозначной классификации. Для использования этой функции необходимо предоставить матрицу индикаторов для целевого
yпри вызове.fit. Другими словами, метки целевых объектов должны быть отформатированы как двумерная двоичная (0/1) матрица, где [i, j] == 1 указывает на наличие метки j в образце i. Этот оценщик использует метод бинарной релевантности для выполнения многозначной классификации, который предполагает обучение одного двоичного классификатора независимо для каждой метки.Подробнее см. в Руководстве пользователя.
- Параметры:
-
- estimatorобъект оценщика
-
Регрессор или классификатор, реализующий метод fit. При передаче классификатора, метод decision_function будет использоваться в приоритете, а в случае его отсутствия будет использоваться метод predict_proba. При передаче регрессора, используется метод predict.
- n_jobsint, по умолчанию=None
-
Количество задач для вычисления: задачи «один-против-остальных» рассчитываются параллельно.
Noneозначает 1, за исключением случаев работы в контекстеjoblib.parallel_backend.-1означает использование всех процессоров. Для получения дополнительной информации см. Словарь.Изменено в версии 0.20:
n_jobsзначение по умолчанию изменено с 1 на None - verboseint, по умолчанию=0
-
Уровень подробности. Если не равно нулю, выводится информация о прогрессе. Значение ниже 50 отправляет вывод в stderr. В противном случае вывод отправляется в stdout. Частота сообщений увеличивается с уровнем подробности, сообщая обо всех итерациях при значении 10. Для получения дополнительной информации см.
joblib.Parallel.Добавлен в версии 1.1.
- Атрибуты:
-
-
estimators_список из
n_classesоценщиков -
Оценщики, используемые для прогнозов.
-
classes_массив, форма = [
n_classes] -
Метки классов.
-
n_classes_int -
Количество классов.
- label_binarizer_объект LabelBinarizer
-
Объект, используемый для преобразования меток многоклассовой классификации в двоичные метки и наоборот.
-
multilabel_boolean -
Является ли это классификатором многозначной классификации.
- n_features_in_int
-
Количество признаков, увиденных во время метода fit. Определено только в том случае, если соответствующий атрибут доступен в базовом оценщике при вызове метода fit.
Добавлен в версии 0.24.
-
feature_names_in_массив формы (
n_features_in_,) -
Названия признаков, увиденные во время метода fit. Определено только в том случае, если соответствующий атрибут доступен в базовом оценщике при вызове метода fit.
Добавлен в версии 1.0.
-
estimators_список из
См. также
OneVsOneClassifier-
Стратегия «один-против-одного» для многоклассовой классификации.
OutputCodeClassifier-
(Корректирующая ошибки) Стратегия кодов вывода для многоклассовой классификации.
sklearn.multioutput.MultiOutputClassifier-
Альтернативный способ расширения оценщика для многозначной классификации.
sklearn.preprocessing.MultiLabelBinarizer-
Преобразование итерабельного списка итерабельных объектов в двоичную матрицу индикаторов.
Примеры
>>> import numpy as np >>> from sklearn.multiclass import OneVsRestClassifier >>> from sklearn.svm import SVC >>> X = np.array([ ... [10, 10], ... [8, 10], ... [-5, 5.5], ... [-5.4, 5.5], ... [-20, -20], ... [-15, -20] ... ]) >>> y = np.array([0, 0, 1, 1, 2, 2]) >>> clf = OneVsRestClassifier(SVC()).fit(X, y) >>> clf.predict([[-19, -20], [9, 9], [-5, 5]]) array([2, 0, 1])
- decision_function(X)[source]
-
Функция принятия решения для OneVsRestClassifier.
Возвращает расстояние каждой выборки от границы принятия решения для каждого класса. Это может быть использовано только с оценщиками, реализующими метод
decision_function.- Параметры:
-
- Xмассив-подобный формы (n_samples, n_features)
-
Входные данные.
- Возвращает:
-
- Tмассив-подобный формы (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,) или (n_samples, n_classes)
-
Метки многоклассовых объектов. Матрица индикаторов включает многозначную классификацию.
- **fit_paramsdict
-
Параметры, передаваемые в метод
estimator.fitкаждого под-оценщика.Добавлен в версии 1.4: Доступен только если
enable_metadata_routing=True. См. Руководство пользователя по маршрутизации метаданных для получения дополнительной информации.
- Возвращает:
-
- selfобъект
-
Экземпляр обученного оценщика.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.
Добавлено в версии 1.4.
- Возвращает:
-
- routingMetadataRouter
-
A
MetadataRouterencapsulating routing information.
- get_params(deep=True)[source]
-
Получить параметры для этого оценщика.
- Параметры:
-
- deepbool, default=True
-
Если True, вернет параметры для этого оценщика и вложенных под-объектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- propertymultilabel_
-
Является ли это классификатором с множественными метками.
- propertyn_classes_
-
Количество классов.
- partial_fit(X, y, classes=None, **partial_fit_params)[source]
-
Частично обучить базовые оценщики.
Следует использовать, когда память неэффективна для обучения всех данных. Части данных могут быть переданы в несколько итераций.
- Параметры:
-
- X{array-like, sparse matrix} of shape (n_samples, n_features)
-
Данные.
- y{array-like, sparse matrix} of shape (n_samples,) or (n_samples, n_classes)
-
Многоклассовые целевые переменные. Индикаторная матрица включает многометковую классификацию.
- 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{array-like, sparse matrix} of shape (n_samples, n_features)
-
Данные.
- Возвращает:
-
- y{array-like, sparse matrix} of shape (n_samples,) or (n_samples, n_classes)
-
Предсказанные многоклассовые целевые переменные.
- predict_proba(X)[source]
-
Оценки вероятности.
Возвращаемые оценки для всех классов упорядочены по метке классов.
Обратите внимание, что в случае многометки каждый образец может иметь любое количество меток. Это возвращает предельную вероятность того, что данный образец имеет данную метку. Например, вполне согласуется, что две метки имеют 90% вероятность применения к данному образцу.
В случае многоклассовой классификации с одной меткой строки возвращаемой матрицы суммируются до 1.
- Параметры:
-
- X{array-like, sparse matrix} of shape (n_samples, n_features)
-
Входные данные.
- Возвращает:
-
- Tarray-like of shape (n_samples, n_classes)
-
Возвращает вероятность образца для каждого класса в модели, где классы упорядочены так же, как в
self.classes_.
- 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$') OneVsRestClassifier[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. В противном случае он не оказывает влияния.- Parameters:
-
- classesstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
classesвpartial_fit.
- Returns:
-
- selfobject
-
Обновлённый объект.
-
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') OneVsRestClassifier[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.OneVsRestClassifier.html