Bilanciamento di classe
In un problema di classificazione binaria, potrebbero essere raccolti più dati per una delle due classi. Questa disomogeneità tra le classi porta il modello a imparare di più sulla classe maggioritaria che su quella minoritaria. È possibile utilizzare il bilanciamento di classe per migliorare il modello.
Che cos'è il bilancio di classe
In un set di dati per la classificazione binaria sono presenti due classi. Il bilancio di classe è la frequenza relativa di queste classi.
Se si lanciasse una moneta in modo perfettamente casuale un numero sufficiente di volte, si otterrebbe un insieme perfettamente bilanciato di due classi (testa e croce). In un caso perfettamente bilanciato il valore medio della classe è 0,5 (in cui una classe è 1 e l'altra è 0).
In molti casi il bilancio di classe non sarà uguale. Ciò potrebbe portare il modello a conoscere meglio la classe maggioritaria rispetto a quella minoritaria.
Bias proporzionale
Un modello può essere molto accurato indovinando la classe maggioritaria in dati non bilanciati. Ad esempio, se il 95% dei visitatori di un sito web non effettua acquisti, un modello può essere accurato al 95% affermando che nessuno acquisterà. Il modello impara a conoscere la classe maggioritaria, ma spesso è più importante imparare a conoscere quella minoritaria. Ad esempio, perché il restante 5% dei visitatori del sito web effettua acquisti?
Effetti del bilanciamento di classe
Eseguendo il bilanciamento di classe sui dati, si potrebbe ottenere un modello più incentrato sulle caratteristiche e che ha appreso di più sulla classe di minoranza. I potenziali effetti sul modello includono:
-
Punteggio F1 più alto perché è aumentato il peso della classe di minoranza.
-
Punteggio complessivo di accuratezza marginalmente inferiore perché non si basa tanto sul bias proporzionale.
-
Un modello più informativo perché si basa maggiormente sulle caratteristiche e su come distinguere le classi come separate. I valori SHAP potrebbero essere più informativi in un modello bilanciato per classi.
Si noti che in piccoli set di dati il bilanciamento di classe potrebbe causare una perdita di dati sulle caratteristiche. Inoltre, cambiando le proporzioni nel set di dati, si potrebbero perdere alcune informazioni in grado di influenzare le previsioni del modello.
Come bilanciare le classi
Per bilanciare i dati per classe, è necessario innanzitutto scoprire qual è il bilancio ideale per il caso aziendale specifico dell'utente. Potrebbe essere necessario un rapporto tra 80/20 e 50/50. Bilanciare quanto basta per ottenere ciò che serve, perché un bilanciamento eccessivo delle classi potrebbe portare a un modello con un adattamento eccessivo. Quindi, testare il modello con controlli manuali.
Il metodo più comune per il bilanciamento di classe è il sottocampionamento. Ciò avviene campionando a caso la classe maggioritaria in modo da ottenere un miglior bilancio con la classe minoritaria. La figura illustra come i campioni vengano presi dalla classe maggioritaria nel set di dati originale per ottenere un set di dati con classi bilanciate.