Technologieaustausch

Datengrenzen beobachten: Ausreißererkennungstechnologie in sklearn

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Datengrenzen beobachten: Ausreißererkennungstechnologie in sklearn

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.

1. Die Bedeutung der Ausreißererkennung

Die Erkennung von Ausreißern ist in folgenden Bereichen von entscheidender Bedeutung:

  • Datenreinigung: Ausreißer während der Datenvorverarbeitungsphase identifizieren und behandeln.
  • Entdeckung eines Betruges: Identifizieren Sie potenziellen Betrug bei Finanztransaktionen.
  • Prozessüberwachung: Überwachen Sie den Gerätestatus und verhindern Sie Ausfälle in der industriellen Produktion.
2. Methode zur Erkennung von Ausreißern in sklearn

sklearn bietet mehrere Methoden zur Ausreißererkennung. Hier sind einige häufig verwendete Techniken:

2.1 Z-Score (standardisierter Score)

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))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2.2 IQR (Interquartilbereich)

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)))
  • 1
  • 2
  • 3
  • 4
  • 5
2.3 Dichtebasierte Methoden

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2.4 Isolationswald

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
  • 1
  • 2
  • 3
  • 4
  • 5
3. Bewerten Sie die Ausreißererkennung

Die Leistung der Ausreißererkennung zu bewerten ist oft schwierig, da es keine absoluten Standards gibt. Es kann jedoch auf folgende Weise ausgewertet werden:

  • Visualisierung: Visualisieren Sie Datenpunkte und erkannte Ausreißer mithilfe von Methoden wie Streudiagrammen.
  • Bekannte Ausreißer: Bei bekannten Ausreißern können Indikatoren wie Erkennungsgenauigkeit und Rückrufrate berechnet werden.
4. Kombiniert mit praktischen Anwendungen

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.

5. Schlussfolgerung

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.