Tengo un problema de tres clases con datos desequilibrados (90%, 5%, 5%). Ahora quiero entrenar un clasificador usando LIBSVM.¿Utilizando LIBSVM grid.py para datos no balanceados?
El problema es que LIBSVM optimiza su parámetro gamma y Cost para una precisión óptima, lo que significa que el 100% de los ejemplos se clasifican en la clase 1, que por supuesto no es lo que quiero.
He intentado modificar los parámetros de peso -w sin mucho éxito.
Lo que quiero es modificar grid.py de una manera que optimice el costo y la gamma para precisión y recuperación separados por clases en lugar de por la precisión general. ¿Hay alguna forma de hacer eso? ¿O hay otras secuencias de comandos que pueden hacer algo como esto?
gracias, pero creo que debería ser al revés: -w0 5 -w1 90 -w2 90, ya que la clase más pequeña debería tener más costos asociados con ellos ... ¡esta ayudó! – Damnum
sí, creo que tienes razón. Acabo de editar mi pregunta. ¡Gracias! –
Y cuando tienes más de 3 clases, ¿cómo puedes atribuir el valor de cada w? – lilouch