Spec-Zone.ru › scikit-learn

OneClassSVM

classsklearn.svm.OneClassSVM(*, kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, nu=0.5, shrinking=True, cache_size=200, verbose=False, max_iter=-1)[source]

Неконтролируемое выявление выбросов.

Оцените поддержку многомерного распределения.

Реализация основана на libsvm.

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

Параметры:
kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} или вызываемая функция, по умолчанию=’rbf’

Указывает тип ядра, который будет использоваться в алгоритме. Если не указан, будет использоваться ‘rbf’. Если задана вызываемая функция, она используется для предварительного вычисления матрицы ядер.

degreeцелое число, по умолчанию=3

Степень полиномиального ядра (‘poly’). Должно быть неотрицательным. Игнорируется всеми другими ядрами.

gamma{‘scale’, ‘auto’} или число с плавающей точкой, по умолчанию=’scale’

Коэффициент ядра для ‘rbf’, ‘poly’ и ‘sigmoid’.

  • если gamma='scale' (по умолчанию) передается, то он использует 1 / (n_features * X.var()) в качестве значения gamma,
  • если ‘auto’, использует 1 / n_features
  • если число с плавающей точкой, должно быть неотрицательным.

Изменено в версии 0.22: Значение по умолчанию для gamma изменено с ‘auto’ на ‘scale’.

coef0число с плавающей точкой, по умолчанию=0.0

Свободный член в функции ядра. Значимо только для ‘poly’ и ‘sigmoid’.

tolчисло с плавающей точкой, по умолчанию=1e-3

Допуск для критерия остановки.

nuчисло с плавающей точкой, по умолчанию=0.5

Верхняя граница доли ошибок обучения и нижняя граница доли опорных векторов. Должно находиться в интервале (0, 1]. По умолчанию используется 0.5.

shrinkingбулево значение, по умолчанию=True

Использовать ли эвристику сжатия. См. Руководство пользователя.

cache_sizeчисло с плавающей точкой, по умолчанию=200

Укажите размер кеша ядра (в МБ).

verboseбулево значение, по умолчанию=False

Включить подробный вывод. Обратите внимание, что эта настройка использует параметр времени выполнения libsvm для каждого процесса, который, если включен, может работать неправильно в многопоточном контексте.

max_iterцелое число, по умолчанию=-1

Жесткий предел итераций внутри решателя, или -1 для отсутствия предела.

Атрибуты:
coef_массив NumPy формы (1, n_features)

Веса, присвоенные признакам при kernel="linear".

dual_coef_массив NumPy формы (1, n_SV)

Коэффициенты опорных векторов в функции принятия решения.

fit_status_целое число

0, если правильно подогнано, 1 в противном случае (вызовет предупреждение)

intercept_массив NumPy формы (1,)

Постоянная в функции принятия решения.

n_features_in_целое число

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

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

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

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

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

n_iter_целое число

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

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

n_support_массив NumPy формы (n_classes,), тип=int32

Количество опорных векторов для каждого класса.

offset_число с плавающей точкой

Смещение, используемое для определения функции принятия решения из исходных оценок. У нас есть соотношение: decision_function = score_samples - offset_. Смещение является противоположностью intercept_ и предоставляется для согласованности с другими алгоритмами выявления выбросов.

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

shape_fit_кортеж целых чисел формы (n_dimensions_of_X,)

Размеры массива тренировочного вектора X.

support_массив NumPy формы (n_SV,)

Индексы опорных векторов.

support_vectors_массив NumPy формы (n_SV, n_features)

Опорные векторы.

См. также

sklearn.linear_model.SGDOneClassSVM

Решает линейную одноклассовую SVM с помощью стохастического градиентного спуска.

sklearn.neighbors.LocalOutlierFactor

Неконтролируемое обнаружение выбросов с использованием локального фактора выбросов (LOF).

sklearn.ensemble.IsolationForest

Алгоритм изоляции леса.

Примеры

>>> from sklearn.svm import OneClassSVM
>>> X = [[0], [0.44], [0.45], [0.46], [1]]
>>> clf = OneClassSVM(gamma='auto').fit(X)
>>> clf.predict(X)
array([-1,  1,  1,  1, -1])
>>> clf.score_samples(X)
array([1.7798..., 2.0547..., 2.0556..., 2.0561..., 1.7332...])

Для более подробного примера см. Моделирование распределения видов

propertycoef_

Веса, присвоенные признакам при kernel="linear".

Возвращает:
массив NumPy формы (n_features, n_classes)
decision_function(X)[source]

Подписанная дистанция до разделяющей гиперплоскости.

Подписанная дистанция положительна для инлайнера и отрицательна для выброса.

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

Матрица данных.

Возвращает:
decмассив NumPy формы (n_samples,)

Возвращает функцию принятия решения для выборок.

fit(X, y=None, sample_weight=None)[source]

Обнаруживает мягкую границу множества выборок X.

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

Набор выборок, где n_samples — количество выборок, а n_features — количество признаков.

yИгнорируется

Не используется, присутствует для согласованности API по соглашению.

sample_weightмассив-подобный формы (n_samples,), по умолчанию=None

Веса для каждой выборки. Изменяет C для каждой выборки. Более высокие веса заставляют классификатор уделять больше внимания этим точкам.

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

Обученная модель.

Примечания

Если X не является массивом с непрерывным порядком C, он копируется.

fit_predict(X, y=None, **kwargs)[source]

Выполнить подгонку к X и вернуть метки для X.

Возвращает -1 для выбросов и 1 для инлайнеров.

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

Входные выборки.

yИгнорируется

Не используется, присутствует для согласованности API по соглашению.

**kwargsdict

Аргументы, которые необходимо передать в fit.

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

Возвращаемые значения:
yndarray формы (n_samples,)

1 для инлайнеров, -1 для выбросов.

get_metadata_routing()[source]

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

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

Возвращаемые значения:
routingMetadataRequest

MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

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

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

Возвращаемые значения:
paramsdict

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

propertyn_support_

Количество опорных векторов для каждого класса.

predict(X)[source]

Выполнить классификацию на выборках в 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.

score_samples(X)[source]

Функция оценки баллов образцов.

Параметры:
Xarray-like формы (n_samples, n_features)

Матрица данных.

Возвращаемые значения:
score_samplesndarray формы (n_samples,)

Возвращает функцию оценки (без сдвига) образцов.

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

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

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

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

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

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

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

Примечание

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

Параметры:
sample_weightstr, True, False, or None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

Возвращаемые значения:
selfobject

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

set_params(**params)[source]

Установить параметры данного оценщика.

Метод работает как с простыми оценщиками, так и с вложенными объектами (например, Pipeline). Последние имеют параметры вида <component>__<parameter>, чтобы можно было обновлять каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращаемые значения:
selfэкземпляр оценщика

Экземпляр оценщика.

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

Обнаружение выбросов на реальном наборе данных

Моделирование распределения видов

One-Class SVM по сравнению с One-Class SVM с использованием стохастического градиентного спуска

Сравнение алгоритмов обнаружения аномалий для обнаружения выбросов на наборах данных-примерах

One-class SVM с нелинейным ядром (RBF)

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

Spec-Zone.ru

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