Disons que nous avons un classificateur SVM, comment générer une courbe ROC? (Comme théoriquement) (car on génère TPR et FPR avec chacun des seuils). Et comment déterminer le seuil optimal pour ce classificateur SVM?
machine-learning
svm
RockTheStar
la source
la source
Réponses:
Utilisez le classificateur SVM pour classer un ensemble d'exemples annotés, et "un point" sur l'espace ROC basé sur une prédiction des exemples peut être identifié. Supposons que le nombre d'exemples soit de 200, comptez d'abord le nombre d'exemples des quatre cas.
Ensuite, calculez TPR (True Positive Rate) et FPR (False Positive Rate). , et F P R = 28 / ( 28 + 44 ) = 0,3888 Sur l'espace ROC, l'axe x est FPR et l'axe y est TPR. Le point ( 0.3889 , 0.5547 ) est donc obtenu. Pour dessiner une courbe ROC, juste (1) Ajustez une valeur de seuil qui contrôle le nombre d'exemples étiquetés vrai ou faux
Par exemple, si la concentration de certaines protéines au-dessus de α% signifie une maladie, différentes valeurs de α donnent différentes valeurs finales de TPR et de FPR. Les valeurs de seuil peuvent être simplement déterminées d'une manière similaire à la recherche dans la grille; étiqueter des exemples d'apprentissage avec différentes valeurs de seuil, former des classificateurs avec différents ensembles d'exemples étiquetés, exécuter le classificateur sur les données de test, calculer les valeurs FPR et sélectionner les valeurs de seuil qui couvrent le FPR faible (proche de 0) et élevé (proche de 1) valeurs, c'est-à-dire proches de 0, 0,05, 0,1, ..., 0,95, 1
(2) Générer de nombreux ensembles d'exemples annotés
(3) Lancer le classificateur sur les ensembles d'exemples
(4) Calculer un point (FPR, TPR) pour chacun d'eux
(5) Tracer la courbe ROC finale
Certains détails peuvent être vérifiés sur http://en.wikipedia.org/wiki/Receiver_operating_characteristic .
De plus, ces deux liens sont utiles pour déterminer un seuil optimal. Une méthode simple consiste à prendre celui avec la somme maximale des taux vrais positifs et faux négatifs. D'autres critères plus précis peuvent inclure d'autres variables impliquant différents seuils comme les coûts financiers, etc.
http://www.medicalbiostatistics.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -courbes-récepteur-caractéristique-de-fonctionnement.html
la source
Un moyen très simple de choisir un seuil est de prendre les valeurs médianes prédites des cas positifs pour un ensemble de tests. Cela devient votre seuil.
Le seuil est relativement proche du même seuil que vous obtiendriez en utilisant la courbe roc où le vrai taux positif (tpr) et 1 - le taux de faux positifs (fpr) se chevauchent. Ce croisement tpr (croix) 1-fpr maximise le vrai positif tout en minimisant les faux négatifs.
la source
Choisissez le point le plus proche du coin supérieur gauche de votre espace ROC. Maintenant, le seuil utilisé pour générer ce point doit être optimal.
la source
Le choix d'un seuil dépend de l'importance du problème de classification TPR et FPR. Par exemple, si votre classificateur décide quels criminels suspects seront condamnés à mort, les faux positifs sont très mauvais (des innocents seront tués!). Ainsi, vous choisiriez un seuil qui donne un FPR faible tout en gardant un TPR raisonnable (donc vous attrapez en fait de vrais criminels). S'il n'y a pas de préoccupation externe concernant un TPR faible ou un FPR élevé, une option consiste à les pondérer également en choisissant le seuil qui maximiseTPR - FPR .
la source