Ich habe ein Klassifizierungsproblem mit ungefähr 1000 positiven und 10000 negativen Proben im Trainingssatz. Dieser Datensatz ist also ziemlich unausgeglichen. Normaler Zufallswald versucht nur, alle Testproben als Mehrheitsklasse zu markieren.
Hier finden Sie einige gute Antworten zu Unterabtastungen und gewichteten Zufallsforsten: Was bedeutet es, ein Tree Ensemble mit stark voreingenommenen Datensätzen zu trainieren?
Welche Klassifizierungsmethoden neben RF können das Problem am besten bewältigen?
Antworten:
quelle
Unterabtastung der Mehrheitsklasse ist in solchen Situationen normalerweise der richtige Weg.
Wenn Sie der Meinung sind, dass Sie zu wenige Instanzen der positiven Klasse haben, können Sie eine Überabtastung durchführen, z. B. 5n-Instanzen mit Ersetzung aus dem Datensatz der Größe n.
Vorsichtsmaßnahmen:
quelle
Gradient Boosting ist auch hier eine gute Wahl. Sie können den Gradientenverstärkungsklassifikator beispielsweise in sci-kit learn verwenden. Gradient Boosting ist eine prinzipielle Methode, um mit dem Klassenungleichgewicht umzugehen, indem aufeinanderfolgende Trainingssätze basierend auf falsch klassifizierten Beispielen erstellt werden.
quelle
Wenn zusätzlich zu den hier angegebenen Antworten die Anzahl der positiven Beispiele im Vergleich zu den negativen Beispielen viel zu gering ist, handelt es sich fast um ein Anomalieerkennungsproblem, bei dem die positiven Beispiele die Anomalien sind.
Sie haben eine ganze Reihe von Methoden zum Erkennen von Anomalien, angefangen bei der Verwendung der multivariaten Gaußschen Verteilung, um alle Punkte zu modellieren und dann diejenigen auszuwählen, die 2 oder 3 Std. Vom Mittelwert entfernt sind.
Noch ein Grund zum Nachdenken - ich habe einige Leute gesehen, die die negativen Beispiele mit mehr Beispielen zufällig ausgewählt haben, so dass beide Klassen in der Anzahl gleich sind. Es hängt ganz vom jeweiligen Problem ab, ob wir wollen, dass sie ausgeglichen sind oder nicht.
quelle