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)[исходный код]

Ненадзорное обнаружение выбросов.

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

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

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

Параметры:
kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} or callable, default=’rbf’

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

degreeint, default=3

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

gamma{‘scale’, ‘auto’} or float, default=’scale’

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

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

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

coef0float, default=0.0

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

tolfloat, default=1e-3

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

nufloat, default=0.5

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

shrinkingbool, default=True

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

cache_sizefloat, default=200

Задает размер кэша ядра (в МБ).

verbosebool, default=False

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

max_iterint, default=-1

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

Атрибуты:
coef_ndarray or sparse array/matrix of shape (1, n_features)

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

dual_coef_ndarray or sparse array/matrix of shape (1, n_SV)

Коэффициенты опорных векторов в функции принятия решения. Если X является разреженной, эти коэффициенты также будут разреженными.

fit_status_int

0, если обучение выполнено успешно, иначе 1 (будет выдано предупреждение)

intercept_ndarray of shape (1,)

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

n_features_in_int

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

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

feature_names_in_ndarray of shape (n_features_in_,)

Названия признаков, обнаруженных во время обучения. Определяется только тогда, когда X содержит названия признаков, представленные строками.

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

n_iter_int

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

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

n_support_ndarray of shape (n_classes,), dtype=int32

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

offset_float

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

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

shape_fit_tuple of int of shape (n_dimensions_of_X,)

Размерности массива обучающего вектора X.

support_ndarray of shape (n_SV,)

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

support_vectors_ndarray or sparse array/matrix of shape (n_SV, n_features)

Опорные векторы. Если X является разреженной, они также будут разреженными.

См. также

sklearn.linear_model.SGDOneClassSVM

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

sklearn.neighbors.LocalOutlierFactor

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

sklearn.ensemble.IsolationForest

Алгоритм Isolation Forest.

Примеры

>>> 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])

Более подробный пример см. в разделе Моделирование распространения видов

decision_function(X)[исходный код]

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

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

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

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

Возвращает:
decndarray of shape (n_samples,)

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

fit(X, y=None, sample_weight=None)[исходный код]

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

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

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

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

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

sample_weightarray-like of shape (n_samples,), default=None

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

Возвращает:
selfobject

Обученный оцениватель.

Примечания

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

fit_predict(X, y=None, **kwargs)[исходный код]

Выполняет обучение на X и возвращает метки для X.

Для выбросов возвращает -1, а для объектов, не являющихся выбросами, — 1.

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

Входные образцы.

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

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

**kwargsdict

Аргументы, передаваемые в fit.

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

Возвращает:
yndarray of shape (n_samples,)

1 для объектов, не являющихся выбросами, -1 для выбросов.

get_metadata_routing()[исходный код]

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

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

Возвращает:
routingMetadataRequest

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

get_params(deep=True)[исходный код]

Получает параметры этого оценивателя.

Параметры:
deepbool, default=True

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

Возвращает:
paramsdict

Имена параметров и соответствующие им значения.

predict(X)[исходный код]

Выполняет классификацию образцов в X.

Для модели одного класса возвращается +1 или -1.

Параметры:
X{array-like, sparse matrix} of shape (n_samples, n_features) or (n_samples_test, n_samples_train)

Для kernel=”precomputed” ожидаемая форма X — (n_samples_test, n_samples_train).

Возвращает:
y_predndarray of shape (n_samples,)

Метки классов для образцов в X.

score_samples(X)[исходный код]

Функция вычисления исходных оценок образцов.

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

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

Возвращает:
score_samplesndarray of shape (n_samples,)

Возвращает функцию вычисления (без смещения) оценок образцов.

set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → OneClassSVM[исходный код]

Настраивает, следует ли запрашивать передачу метаданных в метод 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, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

Возвращает:
selfobject

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

set_params(**params)[исходный код]

Задает параметры этого оценивателя.

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

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

Параметры оценивателя.

Возвращает:
selfestimator instance

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

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

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

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

One-Class SVM и One-Class SVM со стохастическим градиентным спуском

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

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

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

Spec-Zone.ru

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