Die Daten wur­den auf­be­rei­tet, neue Fea­tures abge­lei­tet und ver­schie­den Machine-Lear­ning-Modelle trai­niert. Doch wie bewer­tet man die Per­for­mance die­ser Modelle? Wie ent­schei­det man sich z.B. zwi­schen einem neu­ro­na­len Netz, Ran­dom Forest oder Gra­di­ent Boos­ting Clas­si­fier? Hier­für ver­wen­det man im Machine-Lear­ning-Bereich soge­nannte Per­for­mance-Metri­ken. Diese wer­den auf einem Test­da­ten­satz (Hold-Out Set) eva­lu­iert, wel­ches nicht zum Trai­ning des Modells ver­wen­det wurde. Dadurch wird die Per­for­mance für neue, vom Modell unge­se­hene, Daten geschätzt. Doch wel­che Metri­ken wer­den für wel­ches Pro­blem eigent­lich ver­wen­det und wann ist die Per­for­mance ausreichend?

In die­sem Blog­bei­trag wer­den wir ver­schie­dene Per­for­mance Metri­ken für Klas­si­fi­zie­rungs­pro­bleme vor­stel­len und unter Berück­sich­ti­gung des Busi­ness-Cases interpretieren.

Metri­ken für Klassifizierungsmodelle

Klas­si­fi­zie­rungs­mo­delle kön­nen in ver­schie­dene Kate­go­rien ein­ge­teilt wer­den: Binäre, Multi-Class, Multi-Label und hier­ar­chi­sche Klas­si­fi­zie­rung. Die meis­ten Per­for­mance-Metri­ken für diese Kate­go­rien las­sen sich aus denen der binä­ren Klas­si­fi­zie­rung ablei­ten, wes­halb wir uns in die­sem Blog­bei­trag auf diese beschrän­ken. Der inter­es­sierte Leser fin­det die Ablei­tun­gen der Per­for­mance-Metri­ken auf kom­ple­xere Klas­si­fi­zie­rungs­mo­delle in [1].
Bei der binä­ren Klas­si­fi­ka­tio­nen gibt es genau zwei Klas­sen, die häu­fig mit der Zahl 1 für die sog. posi­tive Klasse und der Zahl 0 für die sog. nega­tive Klasse gekenn­zeich­net werden.

Accu­racy

Die wohl ein­fachste Per­for­mance-Metrik für eine Klas­si­fi­ka­tion ist die Accu­racy (Genau­ig­keit). Diese lässt sich mit der Formel

Performance-Metriken des überwachten Lernens für Klassifikationsprobleme Bild1

berech­nen und gibt den Anteil an rich­ti­gen Vor­her­sa­gen an. Hat man z.B. 55 rich­tige Vor­her­sa­gen für ins­ge­samt 100 Beob­ach­tun­gen, dann ist die Genau­ig­keit 55% und damit nicht viel bes­ser als der Zufall. Letz­tere Aus­sage gilt nur dann, wenn die bei­den Klas­sen aus­ba­lan­ciert sind, d.h. dass im Daten­satz unge­fähr gleich viele Beob­ach­tun­gen der Klasse 0 und der Klasse 1 vor­lie­gen. Falls eine der bei­den Klas­sen unter- oder über­re­prä­sen­tiert ist, dann ist die Accu­arcy keine gute Metrik. Ein gutes Bei­spiel dafür ist die Klas­si­fi­ka­tion von E‑Mails in die Kate­go­rien Spam und kein Spam: Von 100 E‑Mails seien zum Bei­spiel nur 5 E‑Mails Spam (Klasse 1). Wenn das Modell immer vor­her­sagt, dass es sich bei den E‑Mails um kein Spam (Klasse 0) han­delt, dann ist die Accu­racy 95%. Klingt zwar gut, jedoch lan­den dann trotz­dem alle Spam E‑Mails im Post­ein­gang. Daher ist die Accuary für sol­che Fälle nicht geeig­net. Für eine genauere Eva­lua­tion teilt man die Vor­her­sa­gen daher übli­cher­weise in eine sog. Con­fu­sion Matrix auf.

Die Con­fu­sion-Matrix

In Tabelle 1 ist die all­ge­meine Con­fu­sion-Matrix dar­ge­stellt. Diese beinhal­tet als Ele­mente die Anzahl an kor­rek­ten posi­ti­ven (True Posi­ti­ves TP), kor­rek­ten nega­ti­ven (True Nega­ti­ves TN), fal­schen posi­ti­ven (False Posi­ti­ves FP) und fal­schen nega­ti­ven (False Nega­ti­ves FN) Vor­her­sa­gen. Oft wird die Con­fu­sion Matrix nor­miert (siehe Tabelle 2), da es sonst schwie­rig ist anhand der abso­lu­ten Zah­len die Per­for­mance ein­zu­schät­zen. Die Ele­mente spie­geln dann die Raten TNR, FPR, FNR und TPR wider. Ein Zah­len­bei­spiel ist in den jewei­li­gen Tabel­len (unten) auf­ge­führt. Dort kön­nen wir direkt able­sen, dass 23% der Vor­her­sa­gen für die posi­tive Klasse und 21% der Vor­her­sa­gen für die nega­tive Klasse falsch sind. Diese bei­den Feh­ler wer­den auch als Typ I- und Typ II-Feh­ler bezeich­net. Wel­chen Feh­ler man redu­zie­ren möchte, hängt stark vom Anwen­dungs­fall des Modells ab. Soll es z.B. als Spam Fil­ter die­nen (Spam ist hier die posi­tive Klasse 1), so würde man gerne die Rate der als falsch posi­tiv klas­si­fi­zier­ten E‑Mails redu­zie­ren (geringe FPR). Denn es ist weit­aus dra­ma­ti­scher, wenn eine wich­tige E‑Mail im Spam­ord­ner lan­det, als wenn eine Spam E‑Mail nicht als sol­che erkannt wird (hohe FNR). Umge­kehrte Anfor­de­run­gen stel­len wir z.B. an ein Modell, wel­ches nicht-jugend­freie Filme (Klasse 1) her­aus­fil­tern soll. Lie­ber stel­len wir unse­ren Kin­dern weni­ger Filme zur Ver­fü­gung (hohe FPR), als dass sie sich nicht-jugend­freie Filme anschauen kön­nen (geringe FNR).

Viele wei­tere Metri­ken las­sen sich mit den Ele­men­ten der Con­fu­sion Matrix ablei­ten. Weit ver­brei­tete sind bei­spiels­weise Pre­cison, Recall und F1-Score, wel­che im fol­gen­den kurz bespro­chen werden.

Pre­dic­ted 0Pre­dic­ted 1
Actual 0TNFP
Actual 1FNTP
Tabelle 1 Con­fu­sion Matrix als Per­for­mance Metrik für ein binä­res Klassifikationsproblem
 
Pre­dic­ted 0Pre­dic­ted 1
Actual 08322
Actual 11757
Tabelle 2 Con­fu­sion Matrix als Per­for­mance Metrik für ein Zahlenbeispiel
 
Pre­dic­ted 0Pre­dic­ted 1
Actual 0TN/(#all nega­ti­ves)FP/(#all nega­ti­ves)
Actual 1FN/(#all posi­ti­ves)TP/(#all posi­ti­ves)
Tabelle 3 Nor­mierte Con­fu­sion Matrix als Per­for­mance Metrik für ein binä­res Klassifikationsproblem
 
Pre­dic­ted 0Pre­dic­ted 1
Actual 00.790.21
Actual 10.230.77
Tabelle 4 Nor­mierte Con­fu­sion Matrix als Per­for­mance Metrik für ein Zahlenbeispiel
Abge­lei­tete Metri­ken aus der Con­fu­sion Matrix

Die Pre­cis­ion berech­net sich wie in der unten auf­ge­führ­ten Glei­chung und gibt den Anteil an rich­tig vor­her­ge­sag­ten posi­ti­ven Ergeb­nis­sen (TP) bezo­gen auf die Gesamt­heit aller als posi­tiv vor­her­ge­sag­ten Ergeb­nisse (P*) an. Zum Bei­spiel sollte beim Spam Fil­ter die Pre­cis­ion sehr hoch sein, da wich­tige E‑Mails bes­ser nicht als Spam (Klasse 1) klas­si­fi­ziert wer­den soll­ten. Anders ist es bei einer Kin­der­si­che­rung: Es ist nicht so schlimm, falls einige jugend­freie Filme (Klasse 0) auch als nicht-jugend­frei (Klasse 1) klas­si­fi­ziert werden.

Performance-Metriken des überwachten Lernens für Klassifikationsprobleme Bild4

Der Recall oder auch Hit-Rate genannt gibt den Anteil der kor­rekt als posi­tiv klas­si­fi­zier­ten Ergeb­nisse (TP) bezo­gen auf die Gesamt­heit der tat­säch­lich posi­ti­ven Ergeb­nisse ℗ an. Infor­mell kann man sagen, er gibt den Anteil der Objekte der posi­ti­ven Klasse an, den wir mit unse­rem Modell erwi­schen bzw. detek­tie­ren. Für die Kin­der­si­che­rung hät­ten wir gerne einen sehr hohen Recall, damit wir jeden nicht-jugend­freien Film detek­tie­ren und her­aus­fil­tern, wohin­ge­gen wir bei unse­rem Spam­fil­ter nicht not­wen­di­ger­weise jede Spam-Mail her­aus­fil­tern müs­sen. Der F1-Score ist das har­mo­ni­sche Mit­tel aus Pre­cis­ion und Recall und wird häu­fig als zusam­men­fas­sende Metrik verwendet.

Ohne Ver­än­de­rung der Daten oder des Modells kann man nicht Pre­cis­ion und Recall glei­cher­ma­ßen ver­bes­sern. Bei vie­len Model­len gibt es jedoch einen sog. Thres­hold-Para­me­ter, mit dem wir zum Bei­spiel die Pre­cis­ion ver­bes­sern kön­nen, jedoch dadurch den Recall ver­schlech­tern (oder vice versa). Hier­für ist es hilf­reich sich die Sig­moid Funk­tion (siehe Abbil­dung 1) anzu­schauen, wel­che zum Bei­spiel bei der Logis­ti­schen Regres­sion oder neu­ro­na­len Net­zen ver­wen­det wird. Diese Funk­tion pro­ji­ziert jeden Ein­gangs­wert auf ein Inter­vall zwi­schen 0 und 1. Per default wer­den alle Beob­ach­tun­gen x zur Klasse 1 zuge­ord­net, falls die Sig­moid Funk­tion einen Wert grö­ßer als 0.5 zurück­gibt und zur Klasse 0 falls der Wert klei­ner als 0.5 ist. Die­ser Schwell­wert kann belie­big ver­än­dert wer­den. Wählt man zum Bei­spiel einen höhe­ren Schwell­wert, dann wer­den nur Beob­ach­tun­gen zur Klasse 1 zuge­ord­net, falls sich das Modell sehr sicher ist. Je siche­rer sich das Modell ist, desto grö­ßer ist der Rück­ga­be­wert der Sig­moid Funk­tion. Die­ser Wert wird im Machine Lear­ning Bereich auch oft als Score bezeichnet.

Performance-Metriken des überwachten Lernens für Klassifikationsprobleme Bild5
Abbil­dung 1 Sig­moid Funk­tion in blau und default Thres­hold in rot.

Andere Modelle, wie z.B. ein Ran­dom Forest oder K‑Nearest Neigh­bor, besit­zen auch einen Thres­hold Para­me­ter bzw. kön­nen auch Scores (Sicher­hei­ten) für Beob­ach­tun­gen zurück­ge­ben. Mit der Ver­än­de­rung des Thres­holds kann man nun den sog. Pre­cis­ion-Recall Trade­off erklä­ren. In Abbil­dung 2 ist das Ergeb­nis von Pre­cis­ion und Recall gegen die­sen Schwell­wert für einen Ran­dom Forest Clas­si­fier auf­ge­tra­gen. Wenn man den Thres­hold auf 0 setzt, dann wer­den alle Beob­ach­tun­gen der posi­ti­ven Klasse 1 zuge­ord­net. Somit ist der Recall natür­lich 1, da wir auch alle posi­ti­ven Beob­ach­tun­gen mit unse­rem Modell detek­tie­ren. Die Pre­cis­ion ist jedoch nur so gut, wie der Anteil aller posi­ti­ven Instan­zen (Beob­ach­tun­gen) im Daten­satz. Ein umge­kehr­tes Ver­hal­ten tritt ein, wenn wir einen hohen Thres­hold ver­wen­den. Dadurch wer­den nur Beob­ach­tun­gen als posi­tiv klas­si­fi­ziert, wenn sich das Modell sehr sicher ist bzw. hohe Scores als Rück­ga­be­wert hat. Dadurch ver­grö­ßern wir natür­lich die Pre­cis­ion, jedoch wird unser Recall gerin­ger, da immer weni­ger Beob­ach­tun­gen über­haupt als posi­tiv klas­si­fi­ziert wer­den. Der Schnitt­punkt zwi­schen der Pre­cis­ion- und Recall-Kurve wird auch Break-Even-Punkt genannt. In Abbil­dung 3 ist die Pre­cis­ion gegen den Recall auf­ge­tra­gen. Ein per­fek­tes Modell führt zu einem Flä­chen­in­halt von 1 unter die­ser Kurve.
Die opti­ma­len Thres­holds hän­gen jeweils vom Use-Case ab. Bei unse­rem Spa- Fil­ter wählt man bei­spiels­weise eher einen hohen Thres­hold (hohe Pre­cis­ion), wohin­ge­gen für die Kin­der­si­che­rung eher ein nied­ri­ger Thres­hold (hoher Recall) gewählt wer­den sollte.

Performance-Metriken des überwachten Lernens für Klassifikationsprobleme Bild6
Abbil­dung 2 Pre­cis­ion (Recall) für ver­schie­dene Thres­holds des Klassifikationsmodells.
Performance-Metriken des überwachten Lernens für Klassifikationsprobleme Bild7
Abbil­dung 3 Pre­cis­ion-Recall Kurve eines binä­ren Klassifikationsmodells.
Recei­ver Ope­ra­tor Characteristic

Eine wei­tere häu­fig ver­wen­dete Metrik ist die Flä­che unter der Recei­ver Ope­ra­tor Cha­ra­te­ristic (ROC) Kurve. Hier­für berech­net man zunächst die TPR (Recall) und FNR für ver­schie­dene Thres­holds. Anschlie­ßend erhält man eine Kurve wie in Abbil­dung 4 dar­ge­stellt. Im Ide­al­fall steigt diese senk­recht nach oben von (0,0) zu (1,0) und ver­läuft danach par­al­lel zur x Achse zum Punkt (1,1). Das bedeu­tet, dass alle Scores für posi­tive Beob­ach­tun­gen höher sind als die von nega­ti­ven Beob­ach­tun­gen. Nach­dem dann alle posi­ti­ven Beob­ach­tun­gen klas­si­fi­ziert wur­den, kann dann nur noch die FPR steigen.

Performance-Metriken des überwachten Lernens für Klassifikationsprobleme Bild8
Abbil­dung 4 Recei­ver Ope­ra­tor Characteristic.

Die Flä­che unter die­ser Kurve ist der AUC-Score (Area Under the Curve). Ein opti­ma­ler Clas­si­fier ergibt einen Wert von 1, ein Clas­si­fier der nicht bes­ser ist als der Zufall ergibt einen Wert von 0.5. Für die ROC-Kurve des Zufalls gilt TPR = FPR. Wenn die FPR immer grö­ßer wäre als die TPR, dann sollte man die Klas­sen bzw. die Labels ein­fach ver­tau­schen.
Das Schöne an dem AUC-Score ist, dass man damit ver­schie­dene Modelle über alle ver­schie­de­nen Thres­holds mit nur einem Score ver­glei­chen kann. Der AUC-Score hat außer­dem ver­schie­dene anschau­li­che Inter­pre­ta­tio­nen: z.B. als Wahr­schein­lich­keit dafür, dass eine zufäl­lig gezo­gene posi­ti­ves Beob­ach­tung einen höhe­ren Score hat als eine zufäl­lig gezo­gene nega­tive Beobachtung:

Performance-Metriken des überwachten Lernens für Klassifikationsprobleme Bild9

Man­che die­ser Metri­ken wie Pre­cis­ion, Recall und F1 sind außer­dem inva­ri­ant unter einer bestimm­ten Ver­än­de­rung der Con­fu­sion Matrix. Ver­än­dert man bei­spiels­weise die Anzahl der True Nega­ti­ves (TNs), so hat dies keine Aus­wir­kung auf diese Per­for­mance Metri­ken. Dem sollte man sich bewusst sein, wenn man bei­spiels­weise auch die Güte der nega­ti­ven Klasse messen/beschreiben will. Die ROC Kurve hin­ge­gen beinhal­tet alle Ele­mente der Con­fu­sion Matrix und ist daher nicht inva­ri­ant unter Ver­än­de­rung eines ein­zel­nen Ele­ments (FPR = FP / (TN + FP) und TPR = TP / (TP + FN)).

Ver­all­ge­mei­ne­rung auf Multi-Class-Probleme

Die oben auf­ge­ühr­ten Metri­ken kön­nen auch für Multi-Class-Pro­bleme ein­ge­setzt wer­den. Die Bestim­mung von Pflan­zen­ar­ten auf­grund der Blü­ten­be­schaf­fen­heit ist z.B. ein Multi-Class-Pro­blem. Das wohl berühm­teste Bei­spiel ist der Iris­da­ten­satz (https://en.wikipedia.org/wiki/Iris_flower_data_set). Aus­gangs­punkt ist hier wie­der eine Con­fu­sion Matrix mit den Elementen

Performance-Metriken des überwachten Lernens für Klassifikationsprobleme Bild10

wobei sich der Index i auf eine bestimmte Klasse, z.B. eine Pflan­zen­art bezieht. Anschlie­ßend kann man eine große Con­fu­sion Matrix aus den Teil­ergeb­nis­sen erstel­len, d.h. man berech­net z.B. die Gesamt­heit der True Positives

Performance-Metriken des überwachten Lernens für Klassifikationsprobleme Bild11

Mit die­sen kumu­la­ti­ven Wer­ten kann dann wie gewohnt die Pre­cis­ion, der Recall oder der F1-Score berech­net wer­den. Die­ses Vor­ge­hen heißt Micro-Aver­aging und gewich­tet stark über­re­prä­sen­tierte Klas­sen deut­lich stär­ker. Im Gegen­satz dazu gibt es das Macro-Aver­aging. Hier­für berech­net man Pre­cis­ion, Recall und F1-Score für jede Klasse ein­zeln und mit­telt erst anschlie­ßend die Ergeb­nisse. Dadurch wer­den alle Klas­sen gleich gewichtet.

Zusam­men­fas­sung

In die­sem Blog­bei­trag haben wir ver­schie­dene Per­for­mance Metri­ken für Klas­si­fi­ka­ti­ons­pro­bleme bespro­chen. Hier­bei sollte man berück­sich­ti­gen, dass es sich bei den Grö­ßen wie Accu­racy, Pre­cis­ion, Recall, etc. um mathe­ma­ti­sche Per­for­mance-Metri­ken der ein­zel­nen Modelle han­delt. Für Data Sci­ence Use-Cases ist jedoch häu­fig eine mone­täre Größe der ent­schei­dende Fak­tor. Zum Bei­spiel klingt eine Pre­cis­ion und ein Recall von 90% sehr gut. Wenn ein FP jedoch 100 € Ver­lust bedeu­tet, und ein TP nur 1 € Ersparnins, dann machen wir bei 10 Klas­si­fi­ka­tio­nen der Klasse 1 einen Ver­lust von (100 – 9) € = 91 €. Um mit die­sem Use-Case keine Ver­luste ein­zu­fah­ren, brau­chen wir also min­des­tens eine Pre­cis­ion von 99%. Das kön­nen wir zum Bei­spiel durch eine Ver­schie­bung des Thres­holds errei­chen. Jedoch könnte das zu einem sehr gerin­gen Recall füh­ren. Es ist daher sehr wich­tig mög­lichst früh den sog. Busi­ness-Value als wei­tere Per­for­mance-Größe her­an­zu­zie­hen. Der Thres­hold des Modells wird dann so ange­passt, dass wir mög­lichst den maxi­ma­len Gewinn mit dem Modell erzielen.

In einem wei­te­ren Blog­bei­trag wer­den wir uns mit den Per­for­mance-Metri­ken für Regres­si­ons­ana­ly­sen und für Unsu­per­vi­sed Lear­ning beschäftigen.

Quel­len

[1] A sys­te­ma­tic ana­ly­sis of per­for­mance mea­su­res for clas­si­fi­ca­tion tasks; M Soko­lova, G Lapalme; Infor­ma­tion Pro­ces­sing & Manage­ment 45 (4), 427–437