Sono un principiante nell'apprendimento automatico e sto affrontando una situazione. Sto lavorando a un problema di offerta in tempo reale, con il set di dati IPinYou e sto provando a fare una previsione di clic.
Il fatto è che, come forse saprai, il set di dati è molto sbilanciato: circa 1300 esempi negativi (senza clic) per 1 esempio positivo (clic).
Questo è ciò che faccio:
- Carica i dati
- Dividi il set di dati in 3 set di dati: A = Formazione (60%) B = Convalida (20%) C = Test (20%)
- Per ogni set di dati (A, B, C), effettuare un sottocampionamento su ciascuna classe negativa per avere un rapporto di 5 (5 esempi negativi per 1 esempio positivo). Questo mi dà 3 nuovi set di dati che sono più bilanciati: A 'B' C '
Quindi alleno il mio modello con il set di dati A 'e la regressione logistica.
La mia domanda è:
Quale set di dati devo utilizzare per la convalida? B o B '?
Quale set di dati devo utilizzare per i test? C o C '
Quali sono le metriche più pertinenti per valutare il mio modello? F1Score sembra essere una metrica ben utilizzata. Ma qui a causa della classe sbilanciata (se uso i set di dati B e C), la precisione è bassa (sotto 0,20) e F1Score è molto influenzato da un basso richiamo / precisione. Sarebbe più preciso usare aucPR o aucROC?
Se voglio tracciare la curva di apprendimento, quali metriche dovrei usare? (sapendo che l'errore% non è rilevante se uso il set di dati B per la convalida)
Grazie in anticipo per il tuo tempo!
Saluti.