Ausreißer erkennen und entfernen
Z-Score-Methode, IQR-Methode, Konzept des Isolation Forest und praktischer Umgang mit Ausreißern.
Ausreißer erkennen und entfernen ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein Ausreißer?
Ein Ausreißer ist ein Wert, der weit von den übrigen Daten entfernt liegt. Er kann ein tatsächlich extremer Wert, ein Eingabefehler oder eine Störung des Sensors sein. Ausreißer können Mittelwerte, Varianzen und Modelle verzerren. Erkennen Sie sie daher gezielt.
Die Z-Score-Methode
Ein z-Score gibt an, wie viele Standardabweichungen ein Wert vom Mittelwert entfernt ist: z = (x - mean) / std. Eine gängige Regel markiert jeden Punkt mit |z| > 3 als Ausreißer.
import numpy as np
data = np.array([10, 12, 11, 13, 12, 100])
z = (data - data.mean()) / data.std()
print(np.round(z, 2))Ausreißer mit scipy zscore markieren
scipy.stats.zscore berechnet z-Scores für ein Array. Kombinieren Sie dies mit einem Schwellenwert, um eine boolesche Maske für Ausreißer zu erstellen.
from scipy import stats
z = np.abs(stats.zscore(data))
outliers = z > 3
print(data[outliers])Einschränkung des Z-Scores
Der z-Score verwendet den Mittelwert und die Standardabweichung, die selbst durch Ausreißer beeinflusst werden. Bei stark schiefen Daten oder extremen Werten können z-Scores Ausreißer übersehen. Die IQR-Methode ist robuster.
Die IQR-Methode
Der Interquartilsabstand IQR = Q3 - Q1 umfasst die mittleren 50 Prozent. Er wird anhand von Quartilen berechnet, die sich durch Ausreißer kaum verändern, und ist dadurch robust.
q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
iqr = q3 - q1
print(q1, q3, iqr)IQR-Grenzen
Tukeys Grenzen definieren die Schranken: untere Grenze = Q1 - 1.5*IQR, obere Grenze = Q3 + 1.5*IQR. Alles außerhalb dieser Grenzen wird markiert. Mit derselben Regel werden die Whisker eines Boxplots gezeichnet.
lower = q1 - 1.5 * iqr
upper = q3 + 1.5 * iqr
mask = (data < lower) | (data > upper)
print(data[mask]) # outliersVisualisierung mit einem Boxplot
Ein Boxplot veranschaulicht die IQR-Regel: Die Box reicht von Q1 bis Q3, die Linie zeigt den Median, die Whisker reichen bis zu den Grenzen und Punkte außerhalb werden als einzelne Ausreißerpunkte dargestellt.
# import matplotlib.pyplot as plt
# plt.boxplot(data)
# plt.show()Ausreißer entfernen
Nachdem Ausreißer markiert wurden, können Sie die entsprechenden Zeilen ENTFERNEN. Gehen Sie dabei vorsichtig vor, denn das Entfernen echter Daten kann die Ergebnisse verzerren. Halten Sie fest, was Sie entfernt haben und warum.
clean = data[~mask]
print(clean) # outlier removedWinsorisieren mit np.clip
Statt extreme Werte zu löschen, können Sie sie durch Winsorisieren mit np.clip auf festgelegte Grenzen beschränken. So bleibt die Anzahl der Zeilen erhalten und der Einfluss extremer Werte wird reduziert.
capped = np.clip(data, lower, upper)
print(capped) # extreme value pulled to the upper fenceAuf Perzentile beschränken
Eine gängige Wahl beim Winsorisieren ist die Begrenzung auf das 1. und 99. Perzentil. Dadurch werden nur die 2 Prozent der extremsten Werte symmetrisch entfernt.
lo, hi = np.percentile(data, [1, 99])
print(np.clip(data, lo, hi))Entfernen oder begrenzen?
Wählen Sie abhängig vom Kontext: ENTFERNEN Sie eindeutige Fehler (unmögliche Werte), BEGRENZEN Sie echte, aber extreme Werte, die Sie behalten möchten, und BEHALTEN Sie Ausreißer manchmal, wenn sie das entscheidende Signal darstellen (z. B. bei der Betrugserkennung). Dokumentieren Sie die Entscheidung.
Kurze Überprüfung
Testen Sie Ihr Wissen über Ausreißer.
Zusammenfassung
Werkzeuge zur Behandlung von Ausreißern:
- Z-Score: Markieren Sie
|z| > 3mitscipy.stats.zscore(empfindlich gegenüber Ausreißern) - IQR-Grenzen: Q1-1.5*IQR bis Q3+1.5*IQR (robust, Grundlage von Boxplots)
- Entfernen Sie echte Fehler; winsorisieren Sie mit
np.clip, um extreme Werte zu begrenzen - Dokumentieren Sie immer, warum Werte entfernt oder begrenzt wurden
Häufig gestellte Fragen
Ist die Lektion „Ausreißer erkennen und entfernen“ kostenlos?
Ja — der vollständige Text von „Ausreißer erkennen und entfernen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ausreißer erkennen und entfernen“?
Z-Score-Methode, IQR-Methode, Konzept des Isolation Forest und praktischer Umgang mit Ausreißern. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Ausreißer erkennen und entfernen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Ausreißer erkennen und entfernen
- Kategorische Variablen codieren
- Feature-Skalierung: Normalisierung und Standardisierung
- Vorverarbeitungspipelines erstellen