[PYTHON] SVM-Implementierung einer Klasse

0 Einleitung

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.

1 Vorbereitung

Die zu lesende Funktion ist wie folgt. image.png

2 Datendefinition

Dieses Mal definieren wir Folgendes als Trainingsdaten, Testdaten und Ausreißerdaten.

image.png

Die Graphen von "X_train", "X_test" und "X_outliers" sind wie folgt.

image.png

image.png

image.png

3 Datenlernen

image.png

Die für das Training verwendeten Parameter werden in clf.get_params angezeigt image.png

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. image.png

clf.predict (X_test) gibt 1 oder -1 zurück, um zu sehen, ob jeder gegebene Punkt ein Ausreißer ist. image.png

Das Folgende ist eine Tabelle mit "Vorhersagen" und "Entscheidungsfunktionen", um den Bereich der als Ausreißer angegebenen "X_Autliers" zu überprüfen.

image.png

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.

image.png

4 Ergebnisanzeige

image.png

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".

image.png

Dies ist ein einfaches Implementierungsprotokoll.

Recommended Posts

SVM-Implementierung einer Klasse
Ausreißererkennung mit One Class SVM
Ausreißererkennung mit One Class SVM
SVM-Implementierung einer Klasse
SVM-Implementierung in Python
Klasse
Klasse