Quando dovremmo considerare un set di dati come squilibrato?


10

Sto affrontando una situazione in cui il numero di esempi positivi e negativi in ​​un set di dati è squilibrato.

La mia domanda è: ci sono delle regole empiriche che ci dicono quando dovremmo sottocampionare la grande categoria per forzare un qualche tipo di bilanciamento nel set di dati.

Esempi:

  • Se il numero di esempi positivi è 1.000 e il numero di esempi negativi è 10.000, dovrei allenare il mio classificatore sull'insieme completo di dati o dovrei sottocampionare gli esempi negativi?
  • La stessa domanda per 1.000 esempi positivi e 100.000 negativi.
  • La stessa domanda per 10.000 positivi e 1.000 negativi.
  • eccetera...

Non c'è niente di sbagliato nei set di dati che non si dividono perfettamente nel mezzo di per sé. Quale tecnica di modellazione stai usando? Se la tecnica si basa su dati "bilanciati", è possibile che si stia utilizzando la tecnica sbagliata.
D3C34C34D,

1
Nina Zumel prende in esame gli effetti di equilibrio su diversi stimatori qui , questo può aiutare gli altri pure. Osserva la foresta casuale, SVM e una stima del logit.
CFM

Risposte:


9

Penso che il sottocampionamento (downsampling) sia un metodo popolare per controllare lo squilibrio di classe a livello base, nel senso che risolve la radice del problema. Quindi, per tutti i tuoi esempi, selezionare casualmente 1.000 della maggior parte della classe ogni volta che funzionerebbe. Potresti persino giocare con la creazione di 10 modelli (10 pieghe della maggioranza di 1.000 contro la minoranza di 1.000) in modo da utilizzare l'intero set di dati. Puoi usare questo metodo, ma ancora una volta stai buttando via 9.000 campioni a meno che non provi alcuni metodi di ensemble. Soluzione semplice, ma difficile da ottenere un modello ottimale basato sui tuoi dati.

Il grado in cui devi controllare lo squilibrio di classe si basa in gran parte sul tuo obiettivo. Se ti interessa la classificazione pura, lo squilibrio influirebbe sul 50% di probabilità tagliato per la maggior parte delle tecniche, quindi prenderei in considerazione il downsampling. Se ti preoccupi solo dell'ordine delle classificazioni (vuoi i positivi generalmente più alti dei negativi) e usi una misura come l'AUC, lo squilibrio di classe pregiudicherà solo le tue probabilità, ma l'ordine relativo dovrebbe essere decentemente stabile per la maggior parte delle tecniche.

La regressione logistica è utile per lo squilibrio di classe perché finché si dispone di> 500 della classe di minoranza, le stime dei parametri saranno abbastanza accurate e l'unico impatto sarà sull'intercettazione, che può essere corretta se è qualcosa che si potrebbe volere. La regressione logistica modella le probabilità piuttosto che solo le classi, in modo che tu possa fare più regolazioni manuali per soddisfare le tue esigenze.

Molte tecniche di classificazione hanno anche un argomento sul peso della classe che ti aiuterà a concentrarti maggiormente sulla classe di minoranza. Penalizzerà la mancata classificazione di una vera classe di minoranza, quindi la tua accuratezza complessiva subirà un po 'di sofferenza, ma inizierai a vedere più classi di minoranza correttamente classificate.


Potresti ampliare la tua guida di "purché tu abbia> 500 della classe di minoranza"? Dove hai preso questo numero di 500? È basato sulla tua esperienza? Mi aspettavo una percentuale dalla tua risposta.
Jas

2

Lo squilibrio non è definito formalmente, ma un rapporto da 1 a 10 è generalmente abbastanza squilibrato per beneficiare dell'utilizzo della tecnica di bilanciamento.

Esistono due tipi di squilibrio, relativi e assoluti. Nel relativo i rapporti tra la maggioranza e le classi di minoranza sono squilibrati. In assoluto hai anche un piccolo numero di campioni di minoranza. Più alto è il rapporto di squilibrio, più è probabile che si raggiunga anche uno squilibrio assoluto.

Si noti che il semplice sottocampionamento non è un modo ottimale per far fronte a un set di dati sbilanciato. Questo perché dovresti costruire un classificatore che funzionerà bene sul tuo set di dati originale. Per una tecnica per la creazione di classificatori su set di dati non bilanciati, vedere qui . Per valutare il tuo classificatore vedi qui .


2

Problema di squilibrio dei dati ?? In teoria, si tratta solo di numeri. Anche se la differenza è di 1 campione, si tratta di uno squilibrio di dati

In pratica, dire che questo è un problema di squilibrio dei dati è controllato da tre cose: 1. Il numero e la distribuzione dei campioni che hai 2. La variazione all'interno della stessa classe 3. Le somiglianze tra le diverse classi

Gli ultimi due punti cambiano il modo in cui consideriamo il nostro problema.

Per spiegarlo, lasciatemi fare un esempio: Classe A = 100 campioni Classe B = 10 000

Se la variazione all'interno della classe B è molto bassa, il campionamento verso il basso sarà sufficiente, non vi è alcun problema di squilibrio dei dati

Se la variazione è molto elevata all'interno della classe b, il campionamento verso il basso può portare alla perdita di informazioni ed è pericoloso applicare il campionamento verso il basso

Un altro punto, avendo molti campioni (principalmente per la classe di minoranza) allenterà il problema dello squilibrio dei dati e faciliterà la gestione

Ad esempio 10: 100. vs. 1000: 10 000

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.