Local Outlier Factor
Teil des Abschnitts Unüberwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 36 von 51.
Einige ungewöhnliche Punkte liegen innerhalb des Wertebereichs der Daten. Der lokale Ausreißerfaktor LOF vergleicht, wie dicht jeder Punkt im Vergleich zu den Punkten seiner Nachbarn liegt:
Kundinnen und Kunden bleiben manchmal 6 Stunden. Aber die Nachbarn dieses Autos sind Pendler, dicht gedrängt, und es steht weit entfernt von ihrer Gruppe:
from sklearn.neighbors import LocalOutlierFactor
lof = LocalOutlierFactor(n_neighbors=20, contamination=0.02)
flags = lof.fit_predict(X)Dieselben Antworten wie zuvor: -1 ungewöhnlich, 1 normal. n_neighbors legt fest, wie lokal der Vergleich ist.
Aufgabe
MittelEin Telefonanbieter sucht nach Konten, die sich von ihren Nachbarn unterscheiden. Das Starterprogramm skaliert die Daten und kennzeichnet Konten mit einem Isolation Forest; das Programm liest k ein.
- Kennzeichne Konten mit LOF:
n_neighbors=k,contamination=0.03. - Gib die Anzahl der Treffer jedes Detektors und aus, wie viele Konten beide kennzeichnen.
- Liste die Konten auf, die nur LOF kennzeichnet, in Tabellenreihenfolge, wie unten gezeigt.
Für ein kleineres Unternehmen und 10:
Isolation forest: 5 accounts
LOF: 5 accounts
Both: 4 accounts
Only LOF:
A118: 960 minutes, 6.2 GBProbier es selbst
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor
# Eine Zeile pro Telefonkonto: Gesprächsminuten und mobile Daten für einen Monat
accounts = pd.read_csv("accounts.csv")
X = StandardScaler().fit_transform(accounts[["call_minutes", "data_gb"]])
k = int(input())
# Aus Isolation Forest: -1 für die Konten, die der Forest als auffällig einstuft
forest_flags = IsolationForest(contamination=0.03, random_state=0).fit_predict(X)
# Schreibe deinen Code unten
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Unüberwachtes Lernen
1Gruppen finden
Lernen ohne LabelsÄhnlichkeit messenK-Means von HandK-Means mit scikit-learnRückblick: Fitnessstudiomitglieder4Hierarchisches Clustering
Schrittweises ZusammenführenAgglomerative ModelleDendrogrammeZusammenfassung: Hunderassen7PCA in der Praxis
64 Dimensionen sehenKomponenten als MusterKomprimieren und rekonstruierenPCA vor einem ModellRückblick: Gesichtsscanner10Projekt: Ziffern erkunden
Die Ziffern ansehenMit PCA verkleinernDie Ziffern gruppierenDie Gruppen benennenDie Ausreißer finden2k wählen
TrägheitDie Elbow-MethodeSilhouettenwerteVor dem Clustering skalierenRückblick: Lieferzonen8Anomalieerkennung
Die Ausreißer findenIsolation ForestLocal Outlier FactorAnomalie-ScoresRückblick: ServerüberwachungÜbe selbstständig: Online-Python-Compiler