Ho un compito di classificazione in cui ho un numero di predittori (uno dei quali è il più informativo) e sto usando il modello MARS per costruire il mio classificatore (sono interessato a qualsiasi modello semplice, e usare glms a scopo illustrativo sarebbe bene anche). Ora ho un enorme squilibrio di classe nei dati di allenamento (circa 2700 campioni negativi per ogni campione positivo). Analogamente alle attività di reperimento delle informazioni, sono più preoccupato di prevedere i campioni di test positivi ai primi posti. Per questo motivo, le prestazioni sulle curve di richiamo di precisione sono importanti per me.
Prima di tutto, ho semplicemente addestrato il modello sui miei dati di allenamento mantenendo lo squilibrio di classe così com'è. Visualizzo il mio modello allenato in rosso e l'input più importante in blu.
Formazione su dati sbilanciati, valutazione su dati sbilanciati :
Pensando che lo squilibrio di classe stia gettando via il modello, poiché l'apprendimento dei campioni positivi di alto livello è una parte minuscola dell'intero set di dati, ho ricampionato i punti di allenamento positivi per ottenere un set di dati di allenamento bilanciato. Quando tracciamo le prestazioni sul set di allenamento bilanciato , ottengo buone prestazioni. In entrambe le curve PR e ROC, il mio modello addestrato fa meglio degli input.
Formazione su dati bilanciati (ricampionati), valutazione anche su dati bilanciati (ricampionati):
Tuttavia, se uso questo modello addestrato sui dati bilanciati, per prevedere il set di allenamento originale e sbilanciato, ottengo comunque cattive prestazioni sulla curva PR.
Formazione su dati bilanciati (ricampionati), valutazione su dati non bilanciati originali:
Quindi le mie domande sono:
- Il motivo per cui la visualizzazione della curva PR mostra prestazioni inferiori del mio modello addestrato (rosso), mentre la curva ROC mostra miglioramenti a causa dello squilibrio di classe?
- Gli approcci di ricampionamento / up-sampling / down-sampling possono risolvere questo problema per costringere l'allenamento a concentrarsi sulla regione ad alta precisione / basso richiamo?
- Esiste un altro modo per concentrare l'allenamento sulla regione ad alta precisione / a basso richiamo?