Wie zu verwenden Isolierung Wald
Ich versuche zu erkennen, die Ausreißer zu meinen Daten und ich finde die sklearn ist Isolierung Wald. Ich kann nicht verstehen, wie mit ihm zu arbeiten. Ich passe meine Trainings-Daten und es gibt mir wieder einen Vektor mit -1 und 1 Werte.
Kann jemand mir erklären, wie es funktioniert und ein Beispiel geben?
Wie kann ich wissen, dass die Ausreißer sind "wirkliche " Ausreißer"?
Tuning-Parameter?
Hier ist mein code:
clf = IsolationForest(max_samples=10000, random_state=10)
clf.fit(x_train)
y_pred_train = clf.predict(x_train)
y_pred_test = clf.predict(x_test)
[1 1 1 ..., -1 1 1]
InformationsquelleAutor dapo | 2017-03-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint, Sie haben viele Fragen, lass mich versuchen Sie zu beantworten eins nach dem anderen mit meinem besten wissen.
- Wie funktioniert es? -> Es funktioniert auf die Tatsache, dass die Natur von Ausreißern in jedem Datensatz, die "Ausreißer" sind "wenige und andere", die ist ganz anders als der typische clustering-basierten oder Distanz-basierten Algorithmus. Auf der obersten Ebene, es arbeitet nach der Logik, dass Ausreißer weniger Schritte zu 'isolieren' vergleichen 'normalen' Punkt in jedem Datensatz.
So zu tun, dies ist, was WENN nicht, Nehme an, Sie haben training data set X mit n Datenpunkte jeweils m Funktionen. In der Ausbildung, WENN erstellt Isolation Bäume (Binäre suchbäume) für verschiedene Funktionen. Für die Ausbildung haben Sie 3 Parameter für die Optimierung verwenden, ist die Anzahl der isolation Bäume ('n_estimators' in sklearn_IsolationForest), die zweite ist die Anzahl der Proben ('max_samples' in sklearn_IsolationForest) und die Dritte ist eine Reihe von Funktionen zum zeichnen von X zu trainieren, jeder Basis-Schätzer ('max_features' in sklearn_IF). 'max_sample' ist die Anzahl der Stichproben wird die Entnahme aus dem ursprünglichen Daten-set für die Erstellung von Isolation Bäume.
Während der test-phase, findet er die Pfad-Länge der data-Punkt unter test von allen ausgebildeten Isolierung Bäume und ermittelt die Durchschnittliche Pfadlänge. Höher ist die Länge der Strecke, mehr normal der Punkt und Umgekehrt. Auf der Grundlage der durchschnittlichen Pfadlänge. es berechnet die Anomalie score, decision_function von sklearn_IF kann verwendet werden, um dieses zu erhalten. Für sklearn_IF, geringer die Punktzahl, mehr anomale Probe. Auf der Grundlage der anomaly-score können Sie entscheiden, ob die gegebene Probe ist anomal ist oder nicht, indem ordnungsgemäße Wert von Kontamination in sklearn_IF Objekt. default-Wert der Kontamination ist 0,1, die Sie einstellen können für die Entscheidung, die Schwelle. Die Höhe der Kontamination der Daten festgelegt, d.h. der Anteil der Ausreißer in den Daten gesetzt.
Tuning-Parameter
Training -> 1. n_estimators, 2. max_samples, 3.max_features.
Testen -> 1. Kontamination
InformationsquelleAutor Bhargav Upadhyay
-1 stellt die Ausreißer (nach der eingebauten Modell). Sehen IsolationForest Beispiel für eine schöne Darstellung des Prozesses. Wenn Sie einige Vorkenntnisse haben, können Sie weitere Parameter, um eine präzisere Montage. Zum Beispiel, wenn Sie wissen, die Kontamination (Anteil der Ausreißer in den Daten gesetzt), können Sie es als einen Eingang. Standardmäßig wird davon ausgegangen 0.1. Siehe Beschreibung der Parameter hier.
InformationsquelleAutor Miriam Farber