Ho trovato He e Garcia (2009) una utile recensione dell'apprendimento in problemi di classe squilibrati. Ecco alcune cose sicuramente non complete da considerare:
Approcci basati sui dati:
Si può sottocampionare la classe di maggioranza o sovracampionare la classe di minoranza. (Breiman ha sottolineato che questo è formalmente l'equivalente dell'assegnazione di costi di classificazione errata non uniformi.) Ciò può causare problemi: il sottocampionamento può far perdere agli studenti aspetti della classe di maggioranza; il sovracampionamento aumenta il rischio di overfitting.
Esistono metodi di "sottocampionamento informato" che riducono questi problemi. Uno di questi è EasyEnsemble , che campiona in modo indipendente diversi sottoinsiemi della classe di maggioranza e crea più classificatori combinando ciascun sottoinsieme con tutti i dati della classe di minoranza.
SMOTE (Synthetic Minority Oversampling Technique) o SMOTEBoost, (combinando SMOTE con boosting) creano istanze sintetiche della classe di minoranza creando i vicini più vicini nello spazio delle caratteristiche. SMOTE è implementato in R nel pacchetto DMwR (che accompagna il libro di Luis Torgo "Data mining con R, apprendimento con casi studio" CRC Press 2016 ).
Approcci di adattamento del modello
Applicare pesi specifici per classe nella funzione di perdita (pesi maggiori per casi di minoranza).
Per gli approcci basati su alberi, è possibile utilizzare la distanza di Hellinger come funzione di impurità del nodo, come sostenuto in Cieslak et al. "Gli alberi delle decisioni sulla distanza di Hellinger sono robusti e non inclinati" ( codice Weka qui .)
Utilizzare un classificatore di una classe , imparando (a seconda del modello) una densità di probabilità o un limite per una classe e trattando l'altra classe come valori anomali.
Naturalmente, non usare l'accuratezza come metrica per la costruzione di modelli. La kappa di Cohen è un'alternativa ragionevole.
Approcci di valutazione del modello
Se il modello restituisce probabilità previste o altri punteggi, scegliere un limite decisionale che comporti un adeguato compromesso in caso di errori (utilizzando un set di dati indipendente dall'addestramento e dai test). In R, il pacchetto OptimalCutpoints implementa una serie di algoritmi, compresi quelli sensibili ai costi, per decidere un taglio.