Isolation Forest
Teil des Abschnitts Unüberwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 35 von 51.
Ausreißer lassen sich leicht abtrennen. Teile die Daten immer wieder zufällig, bis ein Punkt allein steht:
Der abgelegene Punkt benötigte 2 Schnitte, der dicht liegende 8. Ein Isolation Forest mittelt die Schnitte über 100 zufällige Bäume:
from sklearn.ensemble import IsolationForest
forest = IsolationForest(contamination=0.02, random_state=0)
flags = forest.fit_predict(X)fit_predict gibt -1 für auffällige Zeilen und 1 für den Rest zurück. contamination ist der Anteil der Zeilen, von denen du erwartest, dass sie auffällig sind.
Aufgabe
MittelEin Hafen erfasste 160 Kranschichten: Bewegungen pro Stunde und Energie pro Bewegung. Welche Schichten waren ungewöhnlich?
- Markiere die Schichten mit einem Isolation Forest,
contamination=0.03,random_state=0. Gib die Anzahl wie unten aus. - Stelle die normalen Schichten als Punkte dar, beschriftet mit
normal. - Kreise die markierten Schichten ein:
s=150, facecolors="none", edgecolors="red", beschriftet mitflagged. Füge eine Legende hinzu und zeige das Diagramm an.
Für einen anderen Hafen mit 200 Schichten:
Flagged: 6 of 200 shiftsCoddy beschreibt dann dein Diagramm.
Probier es selbst
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.ensemble import IsolationForest
# Eine Zeile pro Kranschicht im Hafen: Geschwindigkeit und Energieverbrauch
shifts = pd.read_csv("cranes.csv")
X = shifts[["moves_per_hour", "kwh_per_move"]]
# Ändere die folgenden Zeilen nicht
fig, ax = plt.subplots()
ax.set_title("Crane Shifts")
ax.set_xlabel("Moves per hour")
ax.set_ylabel("Energy per move (kWh)")
# 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