ROC-Kurve

Was ist eine ROC-Kurve?

ROC-Kurven (Grenzwertoptimierungskurven) sind ein wichtiges Hilfsmittel bei der Auswertung der Leistung eines Machine Learning-Modells. Sie werden meistens für binäre Klassifikationsprobleme verwendet, also solche, die zwei unterscheidbare Ausgabeklassen aufweisen. Die ROC-Kurve zeigt die Beziehung zwischen der richtig-positiven Rate (TPR) für das Modell und der falsch-positiven Rate (FPR). TPR ist die Rate, mit der der Klassifizierer „positiv“ für Beobachtungen vorhersagt, die „positiv“ sind. FPR ist die Rate, mit der der Klassifizierer „positiv“ für Beobachtungen vorhersagt, die „negativ“ sind. Ein perfekter Klassifizierer hat eine TPR von 1 und eine FPR von 0.

ROC-Kurven können in MATLAB® mithilfe der perfcurve-Funktion aus der Statistics and Machine Learning Toolbox™ berechnet werden. Zusätzlich generiert die Classification Learner App ROC-Kurven, um die Modellleistung zu beurteilen. Mit der App können verschiedene darzustellende Klassen angegeben werden, um ROC-Kurven für Mehrklassen-Klassifikationsprobleme mit mehr als zwei unterscheidbaren Ausgabeklassen anzuzeigen.

Dauer des Videos 4:43

So funktionieren ROC-Kurven

Die meisten Machine Learning-Modelle für die binäre Klassifikation geben bei einer Vorhersage nicht nur 1 oder 0 aus. Stattdessen besteht die Ausgabe aus einem Analogwert im Bereich zwischen [0,1]. Werte über und einschließlich einem bestimmten Schwellenwert (beispielsweise 0,5) werden dann als 1, Werte darunter als 0 klassifiziert. Die Punkte auf der ROC-Kurve stellen die FPR und TPR für verschiedene Schwellenwerte dar.

Der ausgewählte Schwellenwert kann irgendwo zwischen 0 und 1 liegen und die resultierenden Klassifikationen ändern sich je nach Wert dieser Schwelle. Wird der Schwellenwert beispielsweise auf 0 gesetzt, sagt das Modell immer den Wert 1 voraus (da alles über 0 als 1 klassifiziert wird). Es ergibt sich eine TPR von 1 und eine FPR von 1. Wird der Schwellenwert andererseits auf 1 gesetzt. sagt das Modell immer 0 voraus (da alles über 1 als 0 klassifiziert wird). Also sind TPR und FPR beide 0.

Beim Bewerten der Leistung eines Klassifikationsmodells ist das, was zwischen diesen Extremfällen passiert, von größtem Interesse. Im Allgemeinen gilt, dass der Klassifizierer besser ist, je „höher und weiter links“ die ROC-Kurve.

ROC-Kurven werden üblicherweise mit Kreuzvalidierung verwendet, um die Leistung des Modells bei der Validierung oder bzgl. Testdaten auszuwerten.

Mit der perfcurve-Funktion berechnete ROC-Kurven für (von links nach rechts) einen perfekten Klassifizierer, einen typischen Klassifizierer und einen Klassifizierer, der nicht besser als eine Zufallsschätzung ist.

Mit der perfcurve-Funktion berechnete ROC-Kurven für (von links nach rechts) einen perfekten Klassifizierer, einen typischen Klassifizierer und einen Klassifizierer, der nicht besser als eine Zufallsschätzung ist.

Siehe auch: Kreuzvalidierung, Maschinelles Lernen