Ich habe festgestellt, dass He and Garcia (2009) eine hilfreiche Wiederholung des Lernens in unausgeglichenen Klassenproblemen ist. Hier sind ein paar auf jeden Fall nicht umfassende Dinge zu beachten:
Datenbasierte Ansätze:
Man kann die Mehrheitsklasse unter- oder die Minderheitsklasse überabtasten. (Breiman wies darauf hin, dass dies formal der Zuweisung von nicht einheitlichen Fehlklassifizierungskosten entspricht.) Dies kann zu Problemen führen: Unterabtastung kann dazu führen, dass der Lernende Aspekte der Mehrheitsklasse übersieht. Überabtastung erhöht das Risiko einer Überanpassung.
Es gibt "informierte Unterabtastungsmethoden", die diese Probleme reduzieren. Eines davon ist EasyEnsemble , das mehrere Teilmengen aus der Mehrheitsklasse unabhängig voneinander abtastet und mehrere Klassifikatoren erstellt, indem jede Teilmenge mit allen Daten der Minderheitenklasse kombiniert wird.
Mit SMOTE (Synthetic Minority Oversampling Technique) oder SMOTEBoost (SMOTE mit Boosten kombinieren) werden synthetische Instanzen der Minderheitsklasse erstellt, indem im Feature-Space die nächsten Nachbarn erstellt werden. SMOTE ist in R im DMwR-Paket implementiert (das Luis Torgos Buch „Data Mining mit R, Lernen mit Fallstudien“ CRC Press 2016 begleitet ).
Ansätze zur Modellanpassung
Wenden Sie in Ihrer Verlustfunktion klassenspezifische Gewichte an (größere Gewichte für Minderheitenfälle).
Für baumbasierte Ansätze können Sie die Hellinger-Distanz als Knotenverunreinigungsfunktion verwenden, wie in Cieslak et al. "Hellinger-Entfernungsentscheidungsbäume sind robust und schräglaufunempfindlich" ( Weka-Code hier .)
Verwenden Sie einen Ein-Klassen-Klassifikator , lernen Sie entweder (je nach Modell) eine Wahrscheinlichkeitsdichte oder eine Grenze für eine Klasse und behandeln Sie die andere Klasse als Ausreißer.
Verwenden Sie die Genauigkeit natürlich nicht als Metrik für die Modellbildung. Cohens Kappa ist eine vernünftige Alternative.
Modellbewertungsansätze
Wenn Ihr Modell vorhergesagte Wahrscheinlichkeiten oder andere Ergebnisse zurückgibt, wählen Sie einen Entscheidungsgrenzwert, der einen angemessenen Kompromiss zwischen Fehlern eingeht (unter Verwendung eines Datasets, das unabhängig von Training und Test ist). In R implementiert das Paket OptimalCutpoints eine Reihe von Algorithmen, einschließlich kostensensitiver, um einen Cutoff zu bestimmen.