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.