Wie balanciere ich meinen Datensatz?

7

Ich habe 90% negative Beispiele und 10% positive Beispiele (13.000 Beobachtungen, 90 Variablen). Mein Modell zeigt mir, dass der Fehler bei der Fehlklassifizierung 0,1 beträgt, aber meine Verwirrungsmatrix zeigt mir, dass die Anzahl der TP sehr gering ist. Gibt es eine Möglichkeit, mein positives Beispiel zu übertasten oder meinen Datensatz auszugleichen, um einen ausgeglichenen Datensatz zu haben?

Mamush
quelle
1
Wenn Sie mehr als 1300 Fälle von Minderheiten haben, sollte es keine Probleme geben, die einen Ausgleich der Fälle erfordern.
Analyst
1
Es gibt keine eindeutige Antwort darauf. Dies hängt von der Domäne des Problemsatzes ab. Zweitens ist es einfach zu beantworten, wenn Sie nach dem Maskieren der Daten ein Beispiel freigeben und welche Art von unabhängigen Variablen in Ihrem Datensatz vorhanden sind. Außerdem muss man wissen, ob es eine ungefähre Größe der Population gibt, aus der Sie die Stichprobe entnehmen. Ist es SRS?
Puneet Jindal
@Analyst das Problem ist, dass die meisten Fälle von Fehlklassifizierungen aus dem positiven Beispiel stammen.
Mamush
Legen Sie mehr Gewicht auf die positiven Beispiele. Legen Sie insbesondere in der Bewertungsphase dort 50% des Gesamtgewichts für jede Klasse fest (es sei denn, Sie haben asymmetrische Fehlklassifizierungskosten).
Hat aufgehört - Anony-Mousse
@Mamush verwendet dann einen probabilistischen Schätzer, der Ihnen p (y = 1) gibt, und Sie können den Schwellenwert T selbst anpassen, wenn Sie eine binäre Klassifizierung vornehmen möchten. Ich mag diese "Klassifikatoren" nicht, die direkt Klassenbezeichnungen und keine Wahrscheinlichkeiten zurückgeben.
Analyst

Antworten:

5

Sie können Ihre Minderheitsklassenbeispiele durch einfaches Duplizieren überabtasten oder den SMOTE- Algorithmus ( DMwR- Paket in R, Funktion SMOTE) verwenden, der synthetische Beispiele für Minderheitsklassen generiert und gleichzeitig die Mehrheitskategorie herunterabtastet. Da Sie eine ziemlich hohe Anzahl von Fällen haben, sollte das Downsampling nicht zu viel Konzeptverlust führen, aber natürlich verlieren Sie immer noch ein paar Informationen, was nicht ideal ist.

Beachten Sie, dass, wie bereits von Analyst erwähnt, 1300 Minderheitenfälle eine relative Seltenheit, aber keine absolute Seltenheit sind. Das heißt, wenn die Minderheitsklasse durch starke Konzepte repräsentiert wird, sollte Ihr Klassifikator in der Lage sein, dies zu erfassen (siehe dieses Papier für eine gute Diskussion der absoluten und relativen Seltenheit). Vielleicht können Ihre Prädiktoren überhaupt nicht so gut zwischen Klassen unterscheiden, oder Sie haben eine gewisse Konzeptüberschneidung, die das Lernen erschwert.

Welchen Lernalgorithmus verwenden Sie? Zum Beispiel ist Stochastic Gradient Tree Boosting etwas weniger empfindlich gegenüber relativen Klassenungleichgewichten als Random Forests (da der Fokus allmählich auf falsch klassifizierte Fälle gelegt wird). Mit Random Forests wurden zwei Strategien entwickelt, um das Klassenungleichgewicht zu bewältigen: Resampling und Gewichtung. Einige im Geiste ähnliche Methoden wurden auch für das Boosten eingeführt ( z . B. ).

BEARBEITEN: Verweise hinzugefügt (falls Links in Zukunft sterben):

Chawla, Nitesh V. et al. "SMOTE: Überabtastungstechnik für synthetische Minderheiten." Journal of Artificial Intelligence Research (2002): 321-357.

Weiss, GM (2004). Bergbau mit Seltenheit: ein einheitlicher Rahmen. ACM SIGKDD Explorations Newsletter, 6 (1), 7-19.

Chen, Chao, Andy Liaw und Leo Breiman. "Verwenden zufälliger Gesamtstrukturen, um unausgeglichene Daten zu lernen." Universität von Kalifornien, Berkeley (2004).

Sun, Yanmin et al. "Kostensensitives Boosten zur Klassifizierung unausgeglichener Daten." Pattern Recognition 40.12 (2007): 3358 & ndash; 3378.

Antoine
quelle
0

Sie haben uns nichts über Ihren Klassifizierungsansatz und Ihre Datensatzmerkmale mitgeteilt. Wenn Sie eine andere Methode verwenden, deren Training und Abstimmung ewig dauert, würde ich die Verwendung von kostensensitivem Lernen empfehlen. Überabtastung belastet das Training ohne viel Gegenleistung, hart ist es sehr einfach. Unterabtastung hingegen hat mich bisher nicht beeindruckt. Sie können sich auch mit der Vektorquantisierung befassen. Probieren Sie eine Reihe von Strategien aus und finden Sie heraus, was für Ihre Daten funktioniert ...

Ramalho
quelle