Sobes.tech
Junior — Middle

Was ist Klassenungleichgewicht und wie bekämpft man es?

sobes.tech KI

Antwort von AI

Das Klassenungleichgewicht ist eine Situation in einem Klassifizierungsproblem, bei der die Anzahl der Objekte einer Klasse deutlich die Anzahl der Objekte einer anderen (oder anderer) Klassen übersteigt. Dies führt dazu, dass das Modell die weniger vertretenen Klassen möglicherweise schlecht erkennt, da es dazu neigt, sich auf die Mehrheit zu optimieren.

Methoden zur Bekämpfung des Klassenungleichgewichts:

  • Oversampling: Erhöhung der Anzahl der Objekte der Minderheitsklasse (Oversampling) oder Verringerung der Anzahl der Objekte der Mehrheitsklasse (Undersampling).
  • Verwendung spezieller Metriken: z.B. F1-Score, ROC-AUC anstelle einfacher Genauigkeit.
  • Anwendung von Algorithmen, die gegen das Ungleichgewicht resistent sind: z.B. Ensemble-Methoden, gewichtete Klassenmethoden.
  • Generierung synthetischer Daten: Methoden wie SMOTE erstellen neue Objekte für die Minderheitsklasse.

Beispiel für die Anwendung von SMOTE:

from imblearn.over_sampling import SMOTE
X_resampled, y_resampled = SMOTE().fit_resample(X, y)

Dies hilft, die Modellqualität bei seltenen Klassen zu verbessern.