Ho un problema di tre classi con dati sbilanciati (90%, 5%, 5%). Ora voglio allenare un classificatore usando LIBSVM.Utilizzo di LIBSVM grid.py per dati non bilanciati?
Il problema è che LIBSVM ottimizza il suo parametro gamma e Costo per l'accuratezza ottimale, il che significa che il 100% degli esempi sono classificati come classe 1, che ovviamente non è quello che voglio.
Ho provato a modificare i parametri di peso -w senza molto successo.
Quindi, quello che voglio è modificare griglia.py in modo da ottimizzare Costo e gamma per precisione e richiamo separato da classi piuttosto che per precisione generale. C'è un modo per farlo? O ci sono altri script là fuori che possono fare qualcosa di simile?
grazie, ma penso che dovrebbe essere il contrario: -w0 5 -w1 90 -w2 90, poiché la classe più piccola dovrebbe avere più costi associati a loro .. questo ha aiutato! – Damnum
sì, penso che tu abbia ragione. Ho appena modificato la mia domanda. Grazie! –
E quando hai più di 3 classi, come puoi attribuire il valore di ogni w? – lilouch