Comment puis-je calculer l'ASC à partir de la courbe ROC pour la classification?

8

Basé sur TPR et FPR, j'ai généré une courbe ROC pour mon modèle de classification binaire. Je ne sais pas, comment calculer la valeur AUC. Je serais très utile pour moi si vous pouvez m'aider à calculer la valeur AUC.

Rejaul Karim
la source
Merci pour votre réponse. N'importe qui peut m'aider en expliquant avec un exemple simple?
Rejaul Karim
Où êtes-vous exactement troublé?
Aditya

Réponses:

4

Bienvenue dans la communauté!

Comme vous le savez, l'AUC est juste l'aire sous la courbe ROC. La question concerne donc davantage les méthodes numériques, car vous disposez d'un ensemble de points et vous souhaitez calculer l'aire sous-jacente.

Riemannian Sum

Solution triviale. Faites simplement des rectangles à partir des points que vous avez. L'aire de chaque rectangle est simplement le produit de bords. Alors résumez-les! Vous ne l'aimez probablement pas, n'est-ce pas?!

Méthode trapézoïdale

Après Riemannian, l'algorithme le plus simple et le plus naïf pour le faire. Vous avez simplement un ensemble de points et vous calculez simplement la zone trapézoïdale entre chaque paire et les résumez comme ce que vous voyez dans la figure ci-dessous. Il a l'erreur de calcul maximale car il simplifie beaucoup le problème.

entrez la description de l'image ici

Méthode Simpson (1/3)

Bien mieux quand on parle de courbes! Restons simples et précis. Vous pouvez modéliser votre fonction dans chaque intervalle à l'aide d'un quadratique (y=uneX2+bX+c) et ayant 3 points de données. En utilisant vos trois points de données, vous pouvez calculerune, b et c. Ensuite, la zone sous courbe n'est pas si difficile, mais nous avons une meilleure solution! Croyez-moi ou non, la valeur de cette intégration est tout simplement

b-une6(F(une)+4×F(m)+F(b))

(une,F(une)) et (b,F(b)) sont des points finaux d'intervalle et (m,F(m))est le point médian. Voir l'image ci-dessous d' ici pour comparer ces méthodes.

entrez la description de l'image ici

Méthodes de Romberg

Les méthodes Simpson et / ou trapézoïdales peuvent être appliquées récursivement pour obtenir un calcul plus précis. Cela s'appelle la méthode Romberg . La précision de ces méthodes était dans la longueur de l'intervalle. Des intervalles plus petits donnent une intégration plus précise. Romberg utilise ce fait pour se rapprocher itérativement d'une réponse plus précise.

Et bien sûr, des tonnes d'algorithmes supplémentaires pour le faire.

PS: Vous avez certainement des bibliothèques et des fonctions dans différentes langues pour le calculer pour vous. Scipy propose par exemple pour Python .

J'espère que cela aide! Bonne chance!

Kasra Manshaei
la source
Je suis content que cela ait aidé :)
Kasra Manshaei