Einführung
Was haben Datensätze in Bereichen wie Betrugserkennung im Banking, Echtzeitgebote im Marketing oder Intrusion Detection in Netzwerken gemeinsam?
Daten, die in diesen Bereichen verwendet werden, weisen oft weniger als 1% seltener, aber “interessanter” Ereignisse auf (z. B. Betrüger, die Kreditkarten verwenden, Nutzer klicken auf Werbung oder beschädigte Server scannen ihr Netzwerk). Die meisten Algorithmen zum maschinellen Lernen funktionieren jedoch nicht gut mit unausgewogenen Datensätzen. Die folgenden sieben Techniken können Ihnen dabei helfen, einen Klassifikator so zu trainieren, dass er die abnormale Klasse erkennt.
Die richtige Metriken verwenden
Die Anwendung unangemessener Bewertungsmetriken für Modelle, die mit unausgewogenen Daten generiert werden, kann gefährlich sein. Gehen wir davon aus, dass die Trainingsdaten so sind wie in der obigen Grafik. Wenn Genauigkeit (Accuracy) verwendet wird, um die Güte eines Modells zu messen, wird ein Modell, das alle Testproben in “0” klassifiziert, eine ausgezeichnete Genauigkeit (99,8%) aufweisen, aber offensichtlich wird dieses Modell keine wertvollen Informationen für uns liefern.
In diesem Fall können andere alternative Bewertungsmetriken angewendet werden wie: Präzision / Spezifität: Wie viele ausgewählte Instanzen sind relevant. Recall / Sensitivity: Wie viele relevante Instanzen sind ausgewählt. F1-Ergebnis: harmonisches Mittel der Präzsion und des Abrufs. MCC: Korrelationskoeffizient zwischen den beobachteten und vorhergesagten binären Klassifikationen. AUC: Beziehung zwischen der echt positiven Rate und der falsch positiven Rate.
Resampeln des Trainingssatz
Neben der Verwendung verschiedener Bewertungskriterien kann auch daran gearbeitet werden, unterschiedliche Datensätze zu erhalten. Zwei Ansätze, um einen ausgewogenen Datensatz aus einem unausgewogenen Datensatz herauszufiltern, sind Under-sampling und Over-sampling.
Under-Sampling gleicht den Datensatz aus, indem die Größe der reichlich vorhandenen Klasse reduziert wird. Diese Methode wird verwendet, wenn die Datenmenge ausreicht. Indem alle Stichproben in der seltenen Klasse gehalten werden und zufällig eine gleiche Anzahl von Stichproben in der reichlich vorhandenen Klasse ausgewählt wird, kann ein ausgewogener neuer Datensatz zur weiteren Modellierung abgerufen werden.
Im Gegensatz dazu wird Over-sampling verwendet, wenn die Datenmenge nicht ausreicht. Es versucht, den Datensatz auszugleichen, indem die Größe seltener Proben erhöht wird. Anstatt reichlich vorhandene Proben zu entfernen, werden neue seltene Proben erzeugt, durch Methoden wie Bootstrapping oder MOTE (Synthetic Minority Over-Sampling Technique)
Zu beachten ist, dass es keinen absoluten Vorteil einer Resampling-Methode gegenüber einer anderen gibt. Die Anwendung dieser beiden Methoden hängt vom Anwendungsfall und dem Datensatz selbst ab. Eine Kombination von Über- und Unterstichproben ist oft auch erfolgreich.
K‑fold Kreuzvalidierung nutzen
Es ist anzumerken, dass die Kreuzvalidierung ordnungsgemäß angewendet werden sollte, während die Over-sampling zur Lösung von Ungleichgewichtsproblemen eingesetzt wird. Auch zu beachten ist, dass bei Over-sampling seltene Stichproben beobachtet werden und Bootstrapping angewendet wird, um neue Zufallsdaten basierend auf einer Verteilungsfunktion zu generieren. Wenn die Kreuzvalidierung nach Überabtastung angewendet wird, überarbeiten wir unser Modell im Grunde auf ein bestimmtes künstliches Bootstrapping-Ergebnis. Aus diesem Grund sollte eine Überprüfungsvalidierung immer durchgeführt werden, bevor die Daten überabgetastet werden, ebenso wie die Merkmalauswahl implementiert werden sollte. Nur durch wiederholtes Abtasten der Daten kann eine Zufälligkeit in den Datensatz eingeführt erden, um sicherzustellen, dass kein Überfüllungsproblem auftritt.
Verschiedene neu abgetastete Datensätze erzeugen
Der einfachste Weg, ein Modell erfolgreich zu verallgemeinern, ist die Verwendung von mehr Daten. Das Problem besteht darin, dass Out-of-the-Box-Klassifizierer wie logistische Regression oder zufällige Gesamtstruktur dazu neigen, zu verallgemeinern, indem die seltene Klasse verworfen wird. Eine einfache best Practice ist die Erstellung von n Modellen, die alle Stichproben der seltenen Klasse und n- verschiedene Stichproben der reichlich vorhandenen Klasse verwenden. Wenn man 10 Modelle zusammenstellen möchte, würde man z.B. die 1.000 Fälle der seltenen Klasse und zufällig 10.000 Fälle der reichlich vorhandenen Klasse. Dann teilen Sie einfach die 10.000 Fälle in 10 Stücke und trainieren 10 verschiedene Modelle.
Dieser Ansatz ist einfach und perfekt horizontal skalierbar, wenn man viele Daten hat, da man seine Modelle einfach auf verschiedenen Clusterknoten trainieren und ausführen können. Ensemble-Modelle tendieren auch dazu, besser zu verallgemeinern, was diesen Ansatz leicht zu handhaben macht.
Die reichlich vorhandene Klasse Clustern
Anstatt sich auf Zufallsstichproben zu verlassen, um die Vielfalt der Trainingsstichproben abzudecken, ann man, die reichlich vorhandene Klasse in r Gruppen zu gruppieren, wobei r die Anzahl der Fälle in r ist. Für jede Gruppe wird nur das Medoid (Zentrum des Clusters) aufbewahrt. Das Modell wird dann nur mit er seltenen Klasse und den Medoiden trainiert.
Eigene Modelle entwerfen
Alle bisherigen Methoden konzentrieren sich auf die Daten und behalten die Modelle als feste Komponente bei. In der Tat ist es nicht erforderlich, die Daten neu zu erfassen, wenn das Modell für nausgeglichene Daten geeignet ist. Der berühmte XGBoost ist bereits ein guter Startpunkt, wenn die lassen nicht zu stark verzerrt werden, weil es intern dafür sorgt, dass die Taschen, auf denen es trainiert, nicht unausgeglichen sind. Aber dann werden die Daten neu abgetastet, es passiert nur heimlich.
Durch das Entwerfen einer Kostenfunktion, die eine falsche Klassifizierung der seltenen Klasse mehr bestraft als falsche Klassifizierungen der reichlich vorhandenen Klasse, ist es möglich, viele Modelle zu entwerfen, die sich natürlich zugunsten der seltenen Klasse verallgemeinern. Zum Beispiel, eine SVM zu optimieren, um falsche Klassifizierungen der seltenen Klasse mit demselben Verhältnis zu bestrafen, in dem diese Klasse unterrepräsentiert ist.
Quintessenz
Dies ist keine exklusive Liste von Techniken, sondern eher ein Ausgangspunkt für den Umgang mit unausgewogenen Daten. Es gibt keinen besten Ansatz oder ein Modell, das für alle Probleme geeignet ist, und es wird dringend empfohlen, verschiedene Techniken und Modelle auszuprobieren, um zu bewerten, was am besten funktioniert. Kreativ zu sein und verschiedene Ansätze kombinieren ist die beste Lösung. Es ist auch wichtig zu wissen, dass in vielen Bereichen (z. B. Betrugserkennung, Echtzeitgebote), wo unausgeglichene Klassen auftreten, sich die “Marktregeln” ständig ändern. Es ist also wichtig zu überprüfen, ob frühere Daten veraltet sein könnten.