Basierend auf TPR und FPR habe ich eine ROC-Kurve für mein binäres Klassifizierungsmodell generiert. Ich weiß nicht, wie ich den AUC-Wert berechnen soll. Ich wäre sehr hilfreich für mich, wenn Sie mir bei der Berechnung des AUC-Werts helfen können.
machine-learning
classification
Rejaul Karim
quelle
quelle
Antworten:
Willkommen in der Community!
Wie Sie wissen, ist AUC nur der Bereich unter der ROC-Kurve. Die Frage bezieht sich also eher auf numerische Methoden, da Sie eine Reihe von Punkten haben und die Fläche darunter berechnen möchten.
Riemannsche Summe
Triviale Lösung. Machen Sie einfach Rechtecke aus Punkten, die Sie haben. Die Fläche jedes Rechtecks ist einfach das Produkt von Kanten. Dann fasse sie zusammen! Du magst es wahrscheinlich nicht, oder?!
Trapezmethode
Nach Riemannian der einfachste und naivste Algorithmus dafür. Sie haben einfach eine Reihe von Punkten und berechnen einfach die Trapezfläche zwischen jedem Paar und fassen sie wie in der folgenden Abbildung dargestellt zusammen. Es hat den maximalen Rechenfehler, da es das Problem erheblich vereinfacht.
Simpson (1/3) -Methode
Viel besser, wenn wir über Kurven sprechen! Lassen Sie es uns einfach und auf den Punkt halten. Sie können Ihre Funktion in jedem Intervall mit einem Quadrat ( y = a) modelliereny= a x2+ b x + c ein b c
wobei( a , f( a ) ) und ( b , f( b ) ) ( m , f( m ) )
Romberg-Methoden
Simpson- und / oder Trapezmethoden können rekursiv angewendet werden, um eine genauere Berechnung zu erzielen. Es heißt Romberg-Methode . Die Genauigkeit dieser Methoden lag in der Länge des Intervalls. Kleinere Intervalle ermöglichen eine genauere Integration. Romberg nutzt diese Tatsache, um iterativ einer genaueren Antwort näher zu kommen.
Und natürlich mehr Algorithmen, um das zu tun.
PS: Sie haben sicherlich Bibliotheken und Funktionen in verschiedenen Sprachen, um sie für Sie zu berechnen. Scipy bietet zum Beispiel Python an .
Ich hoffe es hilft! Viel Glück!
quelle