2012-07-31 6 views
6

Se sto allenando un SVM su un set di allenamento di lrge e se la variabile di classe è Vero o Falso, otterrei pochissimi valori Veri rispetto al numero di valori False nel set di allenamento influenzano il modello/i risultati del training? Dovrebbero essere uguali? Se il mio set di allenamento non ha una distribuzione equa di Vero e Falso, come posso prenderlo a cuore in modo tale che il mio allenamento sia svolto nel modo più efficiente possibile?Come gestite lo squilibrio dei dati in SVM?

risposta

3

È corretto disporre di dati sbilanciati, perché l'SVM dovrebbe essere in grado di assegnare una penalità maggiore agli errori di classificazione errata relativi all'istanza meno probabile (ad esempio "Vero" nel tuo caso), piuttosto che assegnare un peso di errore uguale che si traduce in il classificatore indesiderabile che assegna tutto alla maggioranza. Tuttavia, il numero probabilmente ottieni risultati migliori con dati bilanciati. Dipende tutto dai tuoi dati, davvero.

È possibile modificare i dati in modo artificiale per ottenere dati più bilanciati. Perché non controlli questo documento: http://pages.stern.nyu.edu/~fprovost/Papers/skew.PDF.

2

La mia esperienza è che i classificatori SVM standard non funzionano davvero bene su dati non bilanciati. L'ho incontrato per il C-SVM ed è ancora peggio per il nu-SVM. Forse vuoi dare un'occhiata a P-SVM che offre una modalità particolarmente adatta per i dati sbilanciati.