Un enfoque popular para resolver problemas de desequilibrio de clases es sesgar el clasificador para que preste más atención a las instancias positivas. Esto se puede hacer, por ejemplo, aumentando la penalización asociada con la clasificación errónea de la clase positiva en relación con la clase negativa. Otro enfoque es preprocesar los datos sobremuestreando la clase mayoritaria o submuestreando la clase minoritaria para crear un conjunto de datos equilibrado.
Sin embargo, en su caso, el desequilibrio de clase no parece ser un problema. Quizás es una cuestión de ajuste de parámetros, ya que encontrar los parámetros óptimos para un clasificador SVM puede ser un proceso bastante tedioso. Hay dos parámetros para, por ejemplo, en un núcleo RBF: y . No se sabe de antemano qué y son mejores para un problema dado; en consecuencia, se debe hacer algún tipo de selección de modelo (búsqueda de parámetros).γ C γCγCγ
En la fase de preprocesamiento de datos, recuerde que SVM requiere que cada instancia de datos se represente como un vector de números reales. Por lo tanto, si hay atributos categóricos, se recomienda convertirlos en datos numéricos, usando m números para representar un atributo de categoría m (o reemplazarlo con m nuevas variables binarias).
Además, escalar las variables antes de aplicar SVM es crucial para evitar que los atributos en rangos numéricos mayores dominen a aquellos en rangos numéricos más pequeños.
Mira este artículo .
Si está trabajando en R, consulte la función de ajuste (paquete e1071) para ajustar los hiperparámetros mediante una búsqueda de cuadrícula en los rangos de parámetros proporcionados. Luego, usando plot.tune , puede ver visualmente qué conjunto de valores da la tasa de error más pequeña.
Hay un atajo alrededor de la búsqueda de parámetros que consume mucho tiempo. Hay un paquete R llamado "svmpath" que calcula toda la ruta de regularización para un clasificador SVM de 2 clases de una vez. Aquí hay un enlace al documento que describe lo que está haciendo.
PD: También puede encontrar este documento interesante: cómo obtener estimaciones de probabilidad calibradas