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экземпляр оценщика
-
Экземпляр оценщика.
Примеры галереи
© 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