2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Die Erkennung von Ausreißern ist eine wichtige Aufgabe in Datenanalyse- und maschinellen Lernprojekten. Ausreißer, auch Ausreißer oder Ausreißer genannt, beziehen sich auf Beobachtungen, die sich deutlich von anderen Daten unterscheiden. Diese Punkte können durch Messfehler, Dateneingabefehler oder echte Variabilität verursacht werden. Die korrekte Identifizierung und Behandlung von Ausreißern ist entscheidend für die Sicherstellung der Modellqualität und -genauigkeit. scikit-learn (kurz sklearn) bietet als funktionsreiche Bibliothek für maschinelles Lernen in Python eine Vielzahl von Methoden zur Erkennung von Ausreißern. In diesem Artikel wird die Ausreißererkennungstechnologie in sklearn ausführlich vorgestellt und praktische Codebeispiele bereitgestellt.
Die Erkennung von Ausreißern ist in folgenden Bereichen von entscheidender Bedeutung:
sklearn bietet mehrere Methoden zur Ausreißererkennung. Hier sind einige häufig verwendete Techniken:
Die Z-Score-Methode normalisiert die Daten basierend auf dem Mittelwert und der Standardabweichung der Daten auf eine Normalverteilung und berechnet den Z-Score für jeden Punkt.
from scipy.stats import zscore
data = [[1, 2], [3, 4], [5, 6], [100, 100]]
data = np.array(data)
z_scores = zscore(data)
threshold = 3 # 通常阈值设为3
outliers = np.where((z_scores > threshold) | (z_scores < -threshold))
Die IQR-Methode verwendet das erste Quartil (Q1) und das dritte Quartil (Q3) der Daten, um den Bereich der Ausreißer zu bestimmen.
Q1 = np.percentile(data, 25, axis=0)
Q3 = np.percentile(data, 75, axis=0)
IQR = Q3 - Q1
threshold = 1.5
outliers = np.where((data < (Q1 - threshold * IQR)) | (data > (Q3 + threshold * IQR)))
Dichtebasierte Methoden wie DBSCAN identifizieren Ausreißer anhand der Dichte von Datenpunkten und nicht anhand eines festen Schwellenwerts.
from sklearn.cluster import DBSCAN
dbscan = DBSCAN(min_samples=5, eps=0.5)
dbscan.fit(data)
core_samples_mask = np.zeros_like(dbscan.labels_, dtype=bool)
core_samples_mask[dbscan.core_sample_indices_] = True
outliers = dbscan.labels_ == -1
Isolation Forest ist eine auf Random Forest basierende Methode zur Erkennung von Ausreißern, die Ausreißer durch zufällige Auswahl von Features und Segmentierungspunkten „isoliert“.
from sklearn.ensemble import IsolationForest
iso_forest = IsolationForest(n_estimators=100, contamination=0.01)
iso_forest.fit(data)
outliers = iso_forest.predict(data) == -1
Die Leistung der Ausreißererkennung zu bewerten ist oft schwierig, da es keine absoluten Standards gibt. Es kann jedoch auf folgende Weise ausgewertet werden:
In praktischen Anwendungen kann uns die Ausreißererkennung dabei helfen, abnormale Verhaltensweisen im Datensatz zu identifizieren, um weitere Analysen durchzuführen oder vorbeugende Maßnahmen zu ergreifen.
Die Ausreißererkennung ist ein wichtiges Bindeglied in der Datenanalyse und beim maschinellen Lernen. sklearn bietet eine Vielzahl von Methoden zur Erkennung von Ausreißern. Jede Methode hat ihre spezifischen Anwendungsszenarien und Vorteile. In diesem Artikel haben wir verschiedene Techniken zur Erkennung von Ausreißern in sklearn kennengelernt und praktische Codebeispiele bereitgestellt.
Der Zweck dieses Artikels besteht darin, den Lesern zu helfen, die Ausreißererkennung besser zu verstehen und die Methoden zur Implementierung dieser Techniken in sklearn zu beherrschen. Wir hoffen, dass die Leser durch diesen Artikel ihr Verständnis der Ausreißererkennung verbessern und diese Techniken effektiv in tatsächlichen Projekten anwenden können. Da die Datenmengen weiter wachsen, wird die Erkennung von Ausreißern weiterhin eine wichtige Rolle in der Datenwissenschaft spielen.