NuSVC#
- класс sklearn.svm.NuSVC(*, nu=0.5, ядро='rbf', степень=3, gamma='scale', coef0=0.0, сжатие=True, вероятность=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape='ovr', break_ties=False, random_state=None)[источник]#
Nu-метод опорных векторов для классификации.
Аналогично SVC, но использует параметр для управления количеством опорных векторов.
Реализация основана на libsvm.
Подробнее в Руководство пользователя.
- Параметры:
- nufloat, по умолчанию=0.5
Верхняя граница доли ошибок на границе (см. Руководство пользователя) и нижняя граница доли опорных векторов. Должна быть в интервале (0, 1].
- ядро{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} или вызываемый объект, по умолчанию=’rbf’
Определяет тип ядра, используемый в алгоритме. Если ничего не указано, будет использоваться ‘rbf’. Если указана вызываемая функция, она используется для предварительного вычисления матрицы ядра. Для интуитивной визуализации различных типов ядер см. Построение границ классификации с различными ядрами SVM.
- степеньint, по умолчанию=3
Степень полиномиальной ядерной функции ('poly'). Должна быть неотрицательной. Игнорируется всеми другими ядрами.
- gamma{‘scale’, ‘auto’} или float, по умолчанию='scale'
Коэффициент ядра для 'rbf', 'poly' и 'sigmoid'.
if
gamma='scale'(по умолчанию) передается, тогда используется 1 / (n_features * X.var()) в качестве значения gamma,если 'auto', использует 1 / n_features
если float, должно быть неотрицательным.
Изменено в версии 0.22: Значение по умолчанию для
gammaизменено с 'auto' на 'scale'.- coef0float, по умолчанию=0.0
Независимый член в ядерной функции. Значим только для 'poly' и 'sigmoid'.
- сжатиеbool, по умолчанию=True
Использовать ли эвристику сжатия. См. Руководство пользователя.
- вероятностьbool, по умолчанию=False
Включить ли оценку вероятностей. Это должно быть включено до вызова
fit, замедлит этот метод, так как он внутренне использует 5-кратную кросс-валидацию, иpredict_probaможет быть несовместимым сpredict. Подробнее в Руководство пользователя.- tolfloat, по умолчанию=1e-3
Допуск для критерия остановки.
- cache_sizefloat, default=200
Укажите размер кэша ядра (в МБ).
- class_weight{dict, ‘balanced’}, по умолчанию=None
Установите параметр C класса i в class_weight[i]*C для SVC. Если не задано, предполагается, что все классы имеют вес один. Режим "balanced" использует значения y для автоматической настройки весов обратно пропорционально частотам классов, как
n_samples / (n_classes * np.bincount(y)).- verbosebool, по умолчанию=False
Включить подробный вывод. Обратите внимание, что этот параметр использует настройку времени выполнения на процесс в libsvm, которая, если включена, может работать некорректно в многопоточном контексте.
- max_iterint, по умолчанию=-1
Жесткое ограничение на итерации внутри решателя, или -1 для отсутствия ограничения.
- decision_function_shape{‘ovo’, ‘ovr’}, по умолчанию ‘ovr’
Возвращать ли функцию принятия решений «один против всех» (‘ovr’) формы (n_samples, n_classes), как у всех других классификаторов, или исходную функцию принятия решений «один против одного» (‘ovo’) из libsvm, которая имеет форму (n_samples, n_classes * (n_classes - 1) / 2). Однако стратегия «один против одного» (‘ovo’) всегда используется для многоклассовой классификации. Параметр игнорируется для бинарной классификации.
Изменено в версии 0.19: decision_function_shape по умолчанию имеет значение 'ovr'.
Добавлено в версии 0.17: decision_function_shape='ovr' рекомендуется.
Изменено в версии 0.17: Устаревший decision_function_shape='ovo' и None.
- break_tiesbool, по умолчанию=False
Если true,
decision_function_shape='ovr', и количество классов > 2, predict будет разрешать ничьи в соответствии со значениями достоверности decision_function; в противном случае возвращается первый класс среди связанных классов. Обратите внимание, что разрешение связей требует относительно высоких вычислительных затрат по сравнению с простым предсказанием. См. Пример разрешения ничьей в SVM для примера его использования сdecision_function_shape='ovr'.Добавлено в версии 0.22.
- random_stateint, экземпляр RandomState или None, по умолчанию=None
Управляет псевдослучайной генерацией чисел для перемешивания данных при оценке вероятностей. Игнорируется, когда
probabilityравно False. Передайте int для воспроизводимого вывода при множественных вызовах функции. См. Глоссарий.
- Атрибуты:
- class_weight_ndarray формы (n_classes,)
Множители параметра C для каждого класса. Вычисляются на основе
class_weightпараметр.- classes_ndarray формы (n_classes,)
Уникальные метки классов.
coef_ndarray формы (n_classes * (n_classes -1) / 2, n_features)Веса, присвоенные признакам, когда
kernel="linear".- dual_coef_ndarray формы (n_classes - 1, n_SV)
Двойные коэффициенты опорного вектора в функции принятия решений (см. Математическая формулировка), умноженные на их цели. Для многоклассовой классификации, коэффициент для всех классификаторов 1-vs-1. Расположение коэффициентов в многоклассовом случае несколько нетривиально. См. раздел многоклассовой классификации в руководстве пользователя подробности.
- fit_status_int
0, если модель корректно обучена, 1, если алгоритм не сошелся.
- intercept_ndarray формы (n_classes * (n_classes - 1) / 2,)
Константы в функции принятия решений.
- n_features_in_int
Количество признаков, замеченных во время fit.
Добавлено в версии 0.24.
- feature_names_in_ndarray формы (
n_features_in_,) Имена признаков, наблюдаемых во время fit. Определено только когда
Xимеет имена признаков, которые все являются строками.Добавлено в версии 1.0.
- n_iter_ndarray формы (n_classes * (n_classes - 1) // 2,)
Количество итераций, выполняемых процедурой оптимизации для обучения модели. Форма этого атрибута зависит от количества оптимизированных моделей, которое в свою очередь зависит от количества классов.
Добавлено в версии 1.1.
- support_ndarray формы (n_SV,)
Индексы опорных векторов.
- support_vectors_ndarray формы (n_SV, n_features)
Support vectors.
n_support_ndarray формы (n_classes,), dtype=int32Количество опорных векторов для каждого класса.
- fit_status_int
0, если модель корректно обучена, 1, если алгоритм не сошелся.
probA_ndarray формы (n_classes * (n_classes - 1) / 2,)Параметр, изученный при масштабировании Платта, когда
probability=True.probB_ndarray формы (n_classes * (n_classes - 1) / 2,)Параметр, изученный при масштабировании Платта, когда
probability=True.- shape_fit_кортеж int формы (n_dimensions_of_X,)
Размерности массива обучающего вектора
X.
Смотрите также
Ссылки
Примеры
>>> import numpy as np >>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) >>> y = np.array([1, 1, 2, 2]) >>> from sklearn.pipeline import make_pipeline >>> from sklearn.preprocessing import StandardScaler >>> from sklearn.svm import NuSVC >>> clf = make_pipeline(StandardScaler(), NuSVC()) >>> clf.fit(X, y) Pipeline(steps=[('standardscaler', StandardScaler()), ('nusvc', NuSVC())]) >>> print(clf.predict([[-0.8, -1]])) [1]
- decision_function(X)[источник]#
Оценить функцию принятия решений для выборок в X.
- Параметры:
- Xarray-like формы (n_samples, n_features)
Входные образцы.
- Возвращает:
- Xndarray формы (n_samples, n_classes * (n_classes-1) / 2)
Возвращает функцию принятия решения для каждого класса в модели. Если decision_function_shape='ovr', форма (n_samples, n_classes).
Примечания
Если decision_function_shape='ovo', значения функции пропорциональны расстоянию образцов X до разделяющей гиперплоскости. Если требуются точные расстояния, разделите значения функции на норму вектора весов (
coef_). См. также этот вопрос для получения дополнительных сведений. Если decision_function_shape='ovr', функция принятия решений является монотонным преобразованием функции принятия решений ovo.
- fit(X, y, sample_weight=None)[источник]#
Обучите модель SVM в соответствии с предоставленными обучающими данными.
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features) или (n_samples, n_samples)
Обучающие векторы, где
n_samplesэто количество образцов иn_features— это количество признаков. Для kernel="precomputed" ожидаемая форма X — (n_samples, n_samples).- yarray-like формы (n_samples,)
Целевые значения (метки классов в классификации, вещественные числа в регрессии).
- sample_weightarray-like формы (n_samples,), по умолчанию=None
Веса для каждого образца. Масштабируют C для каждого образца. Более высокие веса заставляют классификатор уделять больше внимания этим точкам.
- Возвращает:
- selfobject
Обученный оценщик.
Примечания
Если X и y не являются C-упорядоченными и непрерывными массивами np.float64 и X не является scipy.sparse.csr_matrix, X и/или y могут быть скопированы.
Если X является плотным массивом, то другие методы не будут поддерживать разреженные матрицы в качестве входных данных.
- 6332()[источник]#
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
- маршрутизацияMetadataRequest
A
MetadataRequestИнкапсуляция информации о маршрутизации.
- get_params(глубокий=True)[источник]#
Получить параметры для этого оценщика.
- Параметры:
- глубокийbool, по умолчанию=True
Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.
- Возвращает:
- paramsdict
Имена параметров, сопоставленные с их значениями.
- predict(X)[источник]#
Выполняет классификацию для выборок в X.
Для одноклассовой модели возвращается +1 или -1.
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features) или (n_samples_test, n_samples_train)
Для kernel="precomputed" ожидаемая форма X (n_samples_test, n_samples_train).
- Возвращает:
- y_predndarray формы (n_samples,)
Метки классов для образцов в X.
- predict_log_proba(X)[источник]#
Вычислить логарифмы вероятностей возможных исходов для выборок в X.
Модель должна иметь информацию о вероятностях, вычисленную во время обучения: обучение с атрибутом
probabilityустановлено в True.- Параметры:
- Xarray-like формы (n_samples, n_features) или (n_samples_test, n_samples_train)
Для kernel="precomputed" ожидаемая форма X (n_samples_test, n_samples_train).
- Возвращает:
- Tndarray формы (n_samples, n_classes)
Возвращает логарифмы вероятностей выборки для каждого класса в модели. Столбцы соответствуют классам в отсортированном порядке, как они появляются в атрибуте classes_.
Примечания
Вероятностная модель создается с использованием перекрестной проверки, поэтому результаты могут немного отличаться от полученных с помощью predict. Кроме того, она даст бессмысленные результаты на очень маленьких наборах данных.
- predict_proba(X)[источник]#
Вычислите вероятности возможных исходов для выборок в X.
Модель должна иметь информацию о вероятностях, вычисленную во время обучения: обучение с атрибутом
probabilityустановлено в True.- Параметры:
- Xarray-like формы (n_samples, n_features)
Для kernel="precomputed" ожидаемая форма X (n_samples_test, n_samples_train).
- Возвращает:
- Tndarray формы (n_samples, n_classes)
Возвращает вероятность образца для каждого класса в модели. Столбцы соответствуют классам в отсортированном порядке, как они появляются в атрибуте classes_.
Примечания
Вероятностная модель создается с использованием перекрестной проверки, поэтому результаты могут немного отличаться от полученных с помощью predict. Кроме того, она даст бессмысленные результаты на очень маленьких наборах данных.
- 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_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') NuSVC[источник]#
Настроить, следует ли запрашивать передачу метаданных в
fitметод.Обратите внимание, что этот метод актуален только тогда, когда этот оценщик используется как под-оценщик внутри мета-оценщик и маршрутизация метаданных включена с помощью
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.Варианты для каждого параметра:
True: запрашиваются метаданные и передаютсяfitесли предоставлено. Запрос игнорируется, если метаданные не предоставлены.False: метаданные не запрашиваются, и мета-оценщик не передаст их вfit.None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменять запрос для некоторых параметров, но не для других.Добавлено в версии 1.3.
- Параметры:
- sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
Маршрутизация метаданных для
sample_weightпараметр вfit.
- Возвращает:
- selfobject
Обновленный объект.
- set_params(**params)[источник]#
Установить параметры этого оценщика.
Метод работает как на простых оценщиках, так и на вложенных объектах (таких как
Pipeline). Последние имеют параметры видачтобы можно было обновить каждый компонент вложенного объекта.__ - Параметры:
- **paramsdict
Параметры оценщика.
- Возвращает:
- selfэкземпляр estimator
Экземпляр оценщика.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') NuSVC[источник]#
Настроить, следует ли запрашивать передачу метаданных в
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
Обновленный объект.