mardi 25 mars 2008

Courbe ROC pour la comparaison de classifieurs

Une courbe ROC permet de comparer des algorithmes d’apprentissage supervisé indépendamment (1) de la distribution des modalités de la variable à prédire dans le fichier test, (2) des coûts de mauvaises affectations.

La courbe ROC est avant tout définie pour les problèmes à deux classes (les positifs et les négatifs), elle indique la capacité du classifieur à placer les positifs devant les négatifs. Elle met en relation dans un graphique les taux de faux positifs (en abscisse) et les taux de vrais positifs (en ordonnée).

Sa construction s’appuie donc sur les probabilités d’être positif fournies par les classifieurs. Il n’est pas nécessaire que ce soit réellement une probabilité, une valeur quelconque dite « score » permettant d’ordonner les individus suffit amplement.

Il est possible de dériver un indicateur synthétique à partir de la courbe ROC, il s’agit de l’AUC (Area Under Curve – Aire Sous la Courbe), elle indique la probabilité d’un individu positif d’être classé devant un individu négatif. Il existe une valeur seuil, si l’on classe les individus au hasard, l’AUC sera égal à 0.5.

Dans ce didacticiel, nous construisons les courbes ROC de deux méthodes d’apprentissage que nous voulons comparer sur un problème de détection de maladies cardio-vasculaires : l’analyse discriminante linéaire (LDA) et les machines à vecteur de supports (SVM).

Dans la version actuelle (1.4.21 et + récente), le graphique de la courbe est directement construite dans TANAGRA, il n’est plus nécessaire de passer par un tableur.

Mots clés : courbe roc, auc, comparaison de classifieurs, analyse discriminante, svm, support vector machine, scoring
Composants : Sampling, 0_1_Binarize, Supervised Learning, Scoring, Roc curve, SVM, Linear discriminant analysis
Lien : fr_Tanagra_Roc_Curve.pdf
Données : dr_heart.bdm
Références :
R. Rakotomalala – « Courbe ROC »
T. Fawcet – « ROC Graphs : Notes and Practical Considerations of Researchers »