class sklearn.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]

Detección de valores atípicos sin supervisión.

Estime el soporte de una distribución de alta dimensión.

La implementación se basa en libsvm.

Leer más en el Guía del usuario.

Parámetros
kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’}, default=’rbf’

Especifica el tipo de kernel que se utilizará en el algoritmo. Debe ser ‘lineal’, ‘poli’, ‘rbf’, ‘sigmoide’, ‘precalculado’ o invocable. Si no se proporciona ninguno, se utilizará ‘rbf’. Si se proporciona un invocable, se utiliza para calcular previamente la matriz del núcleo.

degreeint, default=3

Grado de la función del núcleo polinomial (‘poli’). Ignorado por todos los demás núcleos.

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

Coeficiente de kernel para ‘rbf’, ‘poli’ y ‘sigmoide’.

  • si gamma="scale" (predeterminado) se pasa entonces usa 1 / (n_features * X.var ()) como valor de gamma,
  • si es ‘auto’, usa 1 / n_features.

Modificado en la versión 0.22: El valor predeterminado de gamma cambiado de ‘automático’ a ‘escala’.

coef0float, default=0.0

Término independiente en función del kernel. Solo es significativo en ‘poli’ y ‘sigmoide’.

tolfloat, default=1e-3

Tolerancia al criterio de parada.

nufloat, default=0.5

Un límite superior en la fracción de errores de entrenamiento y un límite inferior de la fracción de vectores de soporte. Debe estar en el intervalo (0, 1]. Por defecto, se tomará 0.5.

shrinkingbool, default=True

Ya sea para usar la heurística de encogimiento. Ver el Guía del usuario.

cache_sizefloat, default=200

Especifique el tamaño de la caché del kernel (en MB).

verbosebool, default=False

Habilite la salida detallada. Tenga en cuenta que esta configuración aprovecha una configuración de tiempo de ejecución por proceso en libsvm que, si está habilitada, puede que no funcione correctamente en un contexto multiproceso.

max_iterint, default=-1

Límite estricto de iteraciones dentro del solucionador, o -1 si no hay límite.

Atributos
class_weight_ndarray of shape (n_classes,)

Multiplicadores del parámetro C para cada clase. Calculado en base a class_weight parámetro.

coef_ndarray of shape (1, n_features)

Pesos asignados a las características (coeficientes en el problema primario). Esto solo está disponible en el caso de un kernel lineal.

coef_ es propiedad de solo lectura derivada de dual_coef_ y support_vectors_.

dual_coef_ndarray of shape (1, n_SV)

Coeficientes de los vectores de soporte en la función de decisión.

fit_status_int

0 si está correctamente instalado, 1 en caso contrario (generará una advertencia)

intercept_ndarray of shape (1,)

Constante en la función de decisión.

n_support_ndarray of shape (n_classes,), dtype=int32

Número de vectores de soporte para cada clase.

offset_float

Desplazamiento utilizado para definir la función de decisión a partir de las puntuaciones brutas. Tenemos la relación: decision_function = score_samples – offset_. El desplazamiento es el opuesto de intercept_ y se proporciona para mantener la coherencia con otros algoritmos de detección de valores atípicos.

Nuevo en la versión 0.20.

shape_fit_tuple of int of shape (n_dimensions_of_X,)

Dimensiones de matriz del vector de entrenamiento X.

support_ndarray of shape (n_SV,)

Índices de vectores de soporte.

support_vectors_ndarray of shape (n_SV, n_features)

Vectores de soporte.

Ejemplos de

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

Métodos

decision_function(X)

Distancia firmada al hiperplano de separación.

fit(X[, y, sample_weight])

Detecta el límite suave del conjunto de muestras X.

fit_predict(X[, y])

Realice el ajuste en X y devuelva las etiquetas para X.

get_params([deep])

Obtenga parámetros para este estimador.

predict(X)

Realice la clasificación de las muestras en X.

score_samples(X)

Función de puntuación bruta de las muestras.

set_params(** parámetros)

Establezca los parámetros de este estimador.

decision_function(X) [source]

Distancia firmada al hiperplano de separación.

La distancia con signo es positiva para un valor interno y negativa para un valor atípico.

Parámetros
Xarray-like of shape (n_samples, n_features)

La matriz de datos.

Devoluciones
decndarray of shape (n_samples,)

Devuelve la función de decisión de las muestras.

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

Detecta el límite suave del conjunto de muestras X.

Parámetros
X{array-like, sparse matrix} of shape (n_samples, n_features)

Conjunto de muestras, donde n_samples es el número de muestras y n_features es el número de características.

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

Pesos por muestra. Cambiar la escala de C por muestra. Los pesos más altos obligan al clasificador a poner más énfasis en estos puntos.

yIgnored

no utilizado, presente para la coherencia de la API por convención.

Devoluciones
selfobject

Notas

Si X no es una matriz contigua ordenada en C, se copia.

fit_predict(X, y=None) [source]

Realice el ajuste en X y devuelva las etiquetas para X.

Devuelve -1 para valores atípicos y 1 para inliers.

Parámetros
X{array-like, sparse matrix, dataframe} of shape (n_samples, n_features)
yIgnored

No utilizado, presente para la coherencia de la API por convención.

Devoluciones
yndarray of shape (n_samples,)

1 para valores atípicos, -1 para valores atípicos.

get_params(deep=True) [source]

Obtenga parámetros para este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

Devoluciones
paramsdict

Nombres de parámetros asignados a sus valores.

predict(X) [source]

Realice la clasificación de las muestras en X.

Para un modelo de una clase, se devuelve +1 o -1.

Parámetros
X{array-like, sparse matrix} of shape (n_samples, n_features) or (n_samples_test, n_samples_train)

Para kernel = ”precalculado”, la forma esperada de X es (n_samples_test, n_samples_train).

Devoluciones
y_predndarray of shape (n_samples,)

Etiquetas de clase para muestras en X.

score_samples(X) [source]

Función de puntuación bruta de las muestras.

Parámetros
Xarray-like of shape (n_samples, n_features)

La matriz de datos.

Devoluciones
score_samplesndarray of shape (n_samples,)

Devuelve la función de puntuación (sin cambiar) de las muestras.

set_params(**params) [source]

Establezca los parámetros de este estimador.

El método funciona tanto en estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devoluciones
selfestimator instance

Instancia de estimador.

Ejemplos usando sklearn.svm.OneClassSVM

Detección de valores atípicos en un conjunto de datos reales

Detección de valores atípicos en un conjunto de datos reales

Modelado de distribución de especies

Modelado de distribución de especies

GUI de Libsvm

GUI de Libsvm

Comparación de algoritmos de detección de anomalías para la detección de valores atípicos en conjuntos de datos de juguetes

Comparación de algoritmos de detección de anomalías para la detección de valores atípicos en conjuntos de datos de juguetes

SVM de una clase con kernel no lineal (RBF)

SVM de una clase con kernel no lineal (RBF)