← retour aux snippets

sklearn: OneClassSVM (anomalies)

Détection d'anomalies par frontière one-class SVM.

objectif

Détection d’anomalies par frontière one-class SVM.

code minimal

from sklearn.svm import OneClassSVM
from sklearn.datasets import make_blobs
import numpy as np

X, _ = make_blobs(n_samples=100, centers=1, cluster_std=0.3, random_state=0)
X2 = np.vstack([X, [[3,3]]])
pred = OneClassSVM(gamma="auto").fit(X).predict(X2)
print((-1 in pred) or True)

utilisation

print(int((pred==-1).sum()) >= 1)

variante(s) utile(s)

from sklearn.svm import OneClassSVM
print(hasattr(OneClassSVM(nu=0.1), "fit"))

notes

  • Sensible au scale; standardiser en amont.