Une approche populaire pour résoudre les problèmes de déséquilibre de classe consiste à biaiser le classificateur afin qu'il accorde plus d'attention aux cas positifs. Cela peut être fait, par exemple, en augmentant la pénalité associée à une mauvaise classification de la classe positive par rapport à la classe négative. Une autre approche consiste à prétraiter les données en suréchantillonnant la classe majoritaire ou en sous-échantillonnant la classe minoritaire afin de créer un ensemble de données équilibré.
Cependant, dans votre cas, le déséquilibre des classes ne semble pas être un problème. C'est peut-être une question de réglage des paramètres, car trouver les paramètres optimaux pour un classificateur SVM peut être un processus assez fastidieux. Il y a par exemple deux paramètres dans un noyau RBF: et . On ne sait pas à l'avance quels et sont les meilleurs pour un problème donné; par conséquent, une sorte de sélection de modèle (recherche de paramètres) doit être effectuée.γ C γCγCγ
Dans la phase de prétraitement des données, n'oubliez pas que SVM nécessite que chaque instance de données soit représentée comme un vecteur de nombres réels. Par conséquent, s'il existe des attributs catégoriels, il est recommandé de les convertir en données numériques, en utilisant m nombres pour représenter un attribut de catégorie m (ou en le remplaçant par m nouvelles variables binaires).
De plus, la mise à l'échelle des variables avant d'appliquer SVM est cruciale, afin d'éviter que les attributs dans les plages numériques plus grandes ne dominent ceux dans les plages numériques plus petites.
Consultez cet article .
Si vous travaillez dans R, consultez la fonction tune (package e1071) pour régler les hyperparamètres à l'aide d'une recherche de grille sur les plages de paramètres fournies. Ensuite, en utilisant plot.tune , vous pouvez voir visuellement quel ensemble de valeurs donne le taux d'erreur le plus faible.
Il existe un raccourci autour de la recherche de paramètres fastidieuse. Il existe un package R appelé "svmpath" qui calcule le chemin de régularisation complet pour un classificateur SVM à 2 classes en une seule fois. Voici un lien vers l'article qui décrit ce qu'il fait.
PS Vous pouvez également trouver cet article intéressant: Obtenir des estimations de probabilité calibrées