Ich bin ein Anfänger im maschinellen Lernen und stehe vor einer Situation. Ich arbeite an einem Real Time Bidding-Problem mit dem IPinYou-Dataset und versuche, eine Klickvorhersage zu erstellen.
Die Sache ist, wie Sie vielleicht wissen, dass der Datensatz sehr unausgeglichen ist: Rund 1300 negative Beispiele (ohne Klick) für 1 positives Beispiel (Klick).
Das ist was ich mache:
- Laden Sie die Daten
- Teilen Sie den Datensatz in 3 Datensätze auf: A = Schulung (60%) B = Validierung (20%) C = Testen (20%)
- Führen Sie für jeden Datensatz (A, B, C) eine Unterabtastung für jede negative Klasse durch, um ein Verhältnis von 5 zu erhalten (5 negatives Beispiel für 1 positives Beispiel). Dies gibt mir 3 neue Datensätze, die ausgewogener sind: A 'B' C '
Dann trainiere ich mein Modell mit dem Datensatz A 'und der logistischen Regression.
Meine Frage ist:
Welchen Datensatz muss ich zur Validierung verwenden? B oder B '?
Welchen Datensatz muss ich zum Testen verwenden? C oder C '
Welche Metriken sind für die Bewertung meines Modells am relevantesten? F1Score scheint eine gut genutzte Metrik zu sein. Aufgrund der unausgeglichenen Klasse (wenn ich die Datensätze B und C verwende) ist die Genauigkeit hier jedoch niedrig (unter 0,20) und der F1Score wird stark durch niedrige Rückruf- / Genauigkeitsfaktoren beeinflusst. Wäre es genauer, aucPR oder aucROC zu verwenden?
Welche Metriken sollte ich verwenden, wenn ich die Lernkurve zeichnen möchte? (in dem Wissen, dass der% -Fehler nicht relevant ist, wenn ich den B'-Datensatz zur Validierung verwende)
Vielen Dank im Voraus für Ihre Zeit!
Grüße.
quelle
Für
1)
und2)
möchten SieFür diese Datasets sollte es also nicht erforderlich sein, die Klassen auszugleichen.
Sie können auch versuchen, Klassengewichte anstelle von Unter- / Überabtastung zu verwenden, da dies die Entscheidung für Sie übernimmt.
Für
3)
Sie wollen wahrscheinlich zu optimieren verwenden , was auch immer Metrik , die Sie erzielen auf wird (wenn es ein Wettbewerb ist). Aber wenn das nicht in Betracht gezogen wird, sind all diese Modelle eine gute Wahl. F1 kann durch die geringe Genauigkeit beeinflusst werden, aber Sie möchten, dass dies erfasst wird. Genau dann, wenn naive Modelle (wie das Erraten der Mehrheitsklasse) bei einigen Metriken gut punkten können, sind Punkte wie F1 relevant.An
4)
der Anzeige der Metriken, auf denen Sie optimieren, ist nichts auszusetzen.quelle
Sie sollten Ihren Klassifikator an einem Dataset testen, das angibt, warum er verwendet wird. Das Beste ist normalerweise die unveränderte Verteilung.
Ändern Sie während des Lernvorgangs den Datensatz auf eine Weise, die Ihnen hilft.
Weitere Informationen finden Sie unter Soll ich ein ausgewogenes Dataset oder ein repräsentatives Dataset auswählen?
quelle