0

Ich bin mit einem Machine Learning Aufgabe auf einem hoch unsymmetrischen Datensatz konfrontiert.Unsymmetrische Dataset: Oversampling vs Wiederholen

Da die kleinste Klasse eine winzige Anzahl von Beispielen hat (so etwas wie zweihundert w.r.t zu den größten, die 200 Tausend ist). Ich muss Oversampling durchführen (um genauer zu sein, würde ich die kleineren Klassen überabgetasten, und die größeren Beispiele auf einen Zwischenwert von Beispielen unterbemessen, aber das ist nicht im Rahmen dieser Frage).

Jetzt habe ich zwei Möglichkeiten, das zu tun:

1) Stichprobe (natürlich mit Ersatz) Beispiele aus der kleinsten Klasse

2) Wiederholen n-mal die Beispiele aus der kleinste Klasse

Irgendwelche Ratschläge, welche ist der beste Weg?

Vielen Dank im Voraus.

+0

ist es wahrscheinlich für verschiedene Anwendungen unterschiedlich. Können Sie Tests wie 10% (1%?) Ihrer gesamten Daten ausführen? Ziehen Sie das einfach zufällig und spielen Sie mit Over/Under/Random/Repeat Sampling, und sehen Sie, welche Art von Score/MSE/Verlust Sie bekommen können –

Antwort

0

Wie Mohammed Athar erwähnt, können Sie einfach versuchen, welche Ihrer Ansätze besser funktioniert.

Zusätzlich könnten Sie versuchen, Ihre "große" Klasse zufällig in (large_class/small_class) aufzuteilen! Dann trainieren Sie einen Klassifikator (wo Sie alle Daten aus der kleinen Klasse und nur einen Teil der großen Klasse haben) für jeden Split, den Sie haben.

Am Ende können Sie alle Ihre Klassifikatoren mit Bagging/Boosting/neural_network/other_model kombinieren.

Verwandte Themen