Dieser Artikel wurde als persönliches Memo geschrieben, wenn One Class SVM mit sklearn implementiert wird. Die Punkte, die ich beim Lesen anderer Artikel verstanden habe, und die Punkte, an die ich mich erinnern möchte, werden anhand von Zahlen zusammengefasst.
Die zu lesende Funktion ist wie folgt.
Dieses Mal definieren wir Folgendes als Trainingsdaten, Testdaten und Ausreißerdaten.
Die Graphen von "X_train", "X_test" und "X_outliers" sind wie folgt.
Die für das Training verwendeten Parameter werden in clf.get_params
angezeigt
In "clf.decision_function (X_test)" wird der Abstand von der Unterscheidungsgrenze an jedem Verteilungspunkt gezeigt, und ein positiver Wert bedeutet innerhalb der Klassifizierung und ein negativer Wert bedeutet außerhalb der Klassifizierung.
clf.predict (X_test)
gibt 1 oder -1 zurück, um zu sehen, ob jeder gegebene Punkt ein Ausreißer ist.
Das Folgende ist eine Tabelle mit "Vorhersagen" und "Entscheidungsfunktionen", um den Bereich der als Ausreißer angegebenen "X_Autliers" zu überprüfen.
Da es viele Ausreißer gibt, gibt es viele Daten, die "-1" sind, aber einige, die "1" sind, und es ist ersichtlich, dass sie innerhalb des Trainingsdatenbereichs liegen.
sample_set_1
ist eine Menge von Ausreißern im Lernbereich, und sample_set_mina1
ist eine Menge von Ausreißern im Ausreißerdatensatz.
Die zwei Punkte, die unten in Ordnung sind, sind die Punkte "1".
Dies ist ein einfaches Implementierungsprotokoll.