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.