Schulung und Test von AdaBoost für die Klassifizierung mit geringer Wahrscheinlichkeit


7

Ich habe einen Datensatz, den ich als Betrug / nicht Betrug klassifizieren möchte, und ich habe viele schwache Lernende. Ich mache mir Sorgen, dass es viel mehr Betrug als Betrug gibt, sodass meine schwachen Lernenden eine überdurchschnittliche Leistung erbringen, aber keine über 50% Genauigkeit im gesamten Satz.

Meine Frage ist, ob ich Test- und Trainingssets einrichten soll, die halb Betrug und halb Betrug sind, oder ob ich nur eine repräsentative Stichprobe verwenden soll.


1
Wie viele Proben haben Sie von jedem? Eine Alternative könnte darin bestehen, einen Ausreißererkennungsansatz auszuprobieren und ihn anhand Ihrer Betrugsdaten zu testen.
Jpmuc

Der Bias-Varianz-Kompromiss sollte in den Trainingsdaten vorhanden sein.
Sreejithc321


Sie können auch eine Kostenmatrix über Ihren Klassifizierungsalgorithmus legen, da die Strafe für unterschiedliche Fehler bei der Klassifizierung ein Ungleichgewicht aufweist.
image_doctor

Gibt es einen bestimmten Grund, warum Sie Adaboost in diesem Zusammenhang verwenden möchten?
image_doctor

Antworten:


1

Ist es möglich, dass das Hinzufügen generierter Daten zu Ihrem Datensatz die Betrugs- / Nichtbetrugsrate verringert und Ihren Datensatz repräsentativer / verwendbarer macht?

Bei GenieLog erstellen wir Testdaten zum Entwerfen und Testen von Tools zur Betrugserkennung. Mit unserem Generator GEDIS Studio können wir reguläre Profile und Betrügerprofile definieren und jede Kategorie auf ein anpassbares Verhältnis instanziieren (zum Beispiel werden 2% der Kunden die generierten Ereignisse betrügerisch nutzen.)

Wir haben es erfolgreich für Telekommunikations-CDR- ( http://www.gedis-studio.com/online-call-detail-records-cdr-generator.html ) und Kreditkartennutzungen gemacht. Es gibt einen frei verfügbaren Zugang zum Online-Generator unter http://www.data-generator.com

Ich bin mir ziemlich sicher, dass der Ansatz auch dann wertvoll sein kann, wenn das Tool nicht Ihren Anforderungen entspricht. Ansonsten wäre ich interessiert, jeden Einwand zu lesen :)

Grüße


0

Der Trainingssatz muss den Datensatz darstellen, mit dem Ihre Anwendung / Ihr Algorithmus tatsächlich konfrontiert wird. Ich schlage vor, dass Sie eine repräsentative Stichprobe nehmen, anstatt das Trainings- und Test-Set mit genau der Hälfte des Betrugs und der Hälfte des Betrugs zu teilen. Stellen Sie jedoch sicher, dass das Trainingsset sowohl ein positives als auch ein negatives Beispiel für Betrug enthält, damit Ihr Klassifikator eine bessere Leistung erbringt.


Dies gilt für Ihr Test-Set, jedoch nicht für das Training. Bei solchen Problemen ist eine Überabtastung erforderlich, da die überwiegende Mehrheit der Fälle kein Betrug ist.
David

0

In Situationen, in denen eine bestimmte Klasse wirklich eine Minderheit ist, empfehle ich die Erkennung seltener Kategorien. In diesem speziellen Fall von Betrug / Nichtbetrug ist Betrug eine seltene Kategorie. Es ist ein aktives Forschungsfeld - Refere to Rare Category Detection


0

Ich denke, dass es von Ihrem Datensatz abhängt. Es gibt viele Möglichkeiten, mit unausgeglichenen Datensätzen umzugehen . Suchen Sie einfach, z. B. https://www.quora.com/In-classification-how-do-you-handle-an-unbalanced-training-set . Ich denke, dass der einfachste Weg darin besteht, die gleiche Verteilung der Klassen in den Zug- und Testsätzen zu verwenden.

Wenn Sie wirklich eine geringe Anzahl von Minderheitenklassen haben, können Sie versuchen, eine Klasse zu klassifizieren .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.