Die Bewertung eines Modells spielt im Machine Learning eine entscheidende Rolle, um festzustellen, ob es für neue Anwendungen genutzt werden kann oder nochmals neu trainiert werden sollten. Dazu werden unterschiedlichen Metriken, wie beispielsweise die Genauigkeit, die Präzision, der Recall oder auch der F1-Score genutzt. Dieser kombiniert die Kennzahlen Genauigkeit und Recall, um eine gewichtetere Kennzahl bereitzustellen, die eine ehrliche Aussage über die Leistung des Modells trifft.
Dieser Artikel befasst sich im Detail mit dem F1-Score und findet heraus, wie er funktioniert und warum er für die Bewertung eines Machine Learning Modells so wichtig ist. Bevor jedoch mit dieser detaillierten Analyse starten können, müssen erst die beiden Komponenten, also die Präzision und der Recall, genauer verstanden werden.
Wie beurteilt man eine Klassifikation?
Im einfachsten Fall besteht eine Klassifikation aus zwei Zuständen. Angenommen wir wollen untersuchen, wie gut Corona-Tests den Infektionsstatus eines Patienten wiederspiegeln. In diesem Fall dient der Corona-Test als Klassifikator von insgesamt zwei Zuständen: infiziert oder nicht-infiziert.
Aus diesen zwei Klassen können sich insgesamt vier Zustände ergeben, abhängig davon, ob die Klassifikation des Tests wirklich korrekt war:
- True Positive: Der Schnelltest klassifiziert die Person als infiziert und ein anschließender PCR-Test bestätigt dieses Ergebnis. Somit war der Schnelltest korrekt.
- False Positive: Der Schnelltest ist für eine Person positiv, jedoch ergibt ein anschließender PCR-Test, dass die Person eigentlich nicht infiziert, also negativ, ist.
- True Negative: Der Schnelltest ist negativ und die Person ist auch wirklich nicht infiziert.
- False Negative: Der Corona-Schnelltest klassifiziert die getestete Person als gesund, also negativ, jedoch ist die Person infiziert und sollte somit einen positiven Schnelltest haben.
Was ist die Präzision?
Die Präzision ist eine der weit verbreiteten Metriken bei der Analyse von Modellen und misst in einer Klassifizierung den Anteil der positiven Vorhersagen, die korrekt klassifiziert wurden, im Vergleich zur Gesamtzahl der positiven Fälle im Datensatz. Damit wird die Fähigkeit gemessen, den False Positive Fehler zu verhindern. Dieser Fall tritt ein, wenn das Modell fälschlicherweise ein positives Ergebnis vorhersagt, also zum Beispiel dass ein Patient erkrankt ist, in Wahrheit jedoch ein negatives Ergebnis vorhanden ist, der Patient also nicht erkrankt ist.
\(\) \[\text{Präzision} = \frac{\text{True Positive}}{\text{True Positive + False Positive}}\]
Beim einer Spam-Erkennung andererseits misst die Präzision den Anteil der E-Mails, die tatsächlich Spam waren, also positiv sind, im Verhältnis zu den E-Mails, die vom Programm als Spam klassifiziert wurden. Dieser Teil setzt sich aus den True Positives also den richtigerweise positiv vorhergesagten Werten, zusammen und den fälschlicherweise positiv klassifizierten. Ein hoher Wert der Präzision bedeutet, dass ein Großteil der als Spam deklarierten E-Mails auch wirklich Spam waren und nur wenige E-Mails fälschlicherweise im Spam Ordner landeten. Ein niedriger Wert hingegen steht für eine hohe Zahl an falsch deklarierten Spam-Mails, die beim Nutzer zu einer hohen Frustration führen können.
Indirekt beeinflusst noch ein weiterer Fehler den Wert der Präzision. Der False-Negativ Fehler tritt in Fällen auf in denen das Machine Learning Modell ein negatives Ergebnis vorhersagt, obwohl dies nicht der Realität entspricht. Bei einem False – Negative Fehler würden also tatsächliche Spam-Emails im Posteingang landen, weil sie nicht erkannt wurden und als normale E-Mail klassifiziert wurden. Dieser Fehler beeinflusst indirekt die Präzision, da dadurch weniger E-Mails als True Positive klassifiziert werden können. Denn mehr True Positive Fälle bedeuten automatisch weniger False – Negative Fälle und vice versa.
Für eine Optimierung der Präzision ist es deshalb wichtig, die Anzahl der False-Positives zu reduzieren und jedoch gleichzeitig die False-Negatives nicht zu stark zu erhöhen und auf einem akzeptablen Niveau zu halten. In Anwendungen in denen, sowohl False-Positives als auch False-Negatives gleichermaßen schlecht sind, reicht die Betrachtung der Präzision meist nicht aus. Deshalb sollten zusätzlich auch andere Metriken, wie beispielsweise der Recall oder der F1-Score in Betracht gezogen werden, um ein vollständigeres Bild der Modellleistung zu erhalten.
Was ist der Recall?
Im Machine Learning bezeichnet der Recall, zu deutsch die Sensitivität, die Fähigkeit eines Modells, die wichtigen Instanzen in einem Datensatz richtig vorherzusagen. Dabei wird das Verhältnis zwischen den korrekt vorhergesagten positiven Instanzen (True-Positivies) und der Gesamtzahl aller tatsächlich positiven Instanzen (True Positive + False Negative) berechnet. Dadurch wird mit dieser Kennzahl auch gemessen, dass sich die Anzahl der False Negatives im Rahmen hält, was bei der Präzision nicht beachtet wurde.
\(\) \[\text{Recall} = \frac{\text{True Positives} }{\text{True Positives + False Negatives}}\]
Der Recall ist vor allem in Anwendungen wichtig, in denen die Identifizierung aller positiven Instanzen im Fokus steht und dabei auch falsche Vorhersagen in Kauf genommen werden können. In der Medizin beispielsweise ist es wichtiger, alle erkrankten Menschen zu erkennen, auch wenn dies zur Folge hat, dass möglicherweise auch ein paar gesunde Menschen, fälschlicherweise als erkrankt klassifiziert werden. Wenn jedoch ein erkrankter Patient nicht erkannt wird, kann dies deutlich schwerwiegendere Folgen haben, als fälschlicherweise einen gesunden Menschen zu behandeln.
Die Sensitivität nimmt Werte zwischen 0 und 1 an, wobei die 1 für ein Modell steht, dass alle positiven Datenpunkte korrekt als positiv vorhersagt. Die Null hingegen bedeutet, dass das Modell keine einzige positive Instanz im Datensatz richtigerweise erkannt hat.
Was ist der F1-Score?
Der F1-Score ist eine beliebte Kennzahl für die Bewertungn von binären Klassifizierungsmodellen und stellt das harmonische Mittel aus Präzision und Recall dar. Die Nutzung ist vor allem dann sinnvoll, wenn beide Metriken gleich stark gewichtet sein sollen. Er berechnet sich durch das Verhältnis aus dem zweifachen Produkt aus Präzision und Recall geteilt durch deren Summe:
\(\) \[\text{F1} = \frac{2 \cdot \text{Precision} \cdot \text{Recall}}{\text{Precision + Recall}}\]
Dieser Score kann Werte zwischen 0 und 1 annehmen, wobei ein hoher Wert für eine gute Leistung des Modells mit einer hohen Präzision und einem hohen Recall steht. Diese Kennzahl ist vor allem dann nützlich, wenn der Datensatz unausgewogen ist und damit das Risiko besteht, dass das Modell voreingenommen gegenüber der häufigeren Klasse ist. In Anwendungen wie der Medizin oder der Betrugserkennung in der Finanzbranche kommen gesunde Menschen oder normale Transaktionen viel häufiger vor und sind deshalb in Datensätzen auch mehrheitlich vertreten. Um dabei jedoch zu verhindern, dass das Modell eine Tendenz entwickelt häufig die Datenpunkte als gesunde Menschen oder normale Transaktionen zu klassifizieren, wird der F1-Score verwendet um diese Unausgeglichenheit zu berücksichtigen.
Wie kann man den Score interpretieren?
Der F1-Score ist eine Kennzahl, die zur Leistungsmessung bei Klassifikationen genutzt wird. Sie stellt einen gewichteten Mittelwert zwischen der Präzision und der Sensitivität dar. Die Werte reichen von 0 bis 1. Ein Wert von 1 steht dabei für eine perfekte Genauigkeit und Sensitivität. Ein Wert von 0 hingegen steht für eine Klassifikation, die schlecht performt. Im Allgemeinen ist ein größerer Wert des F1-Scores ein Äquivalent für ein besseres Modell.
Jedoch ist die Interpretation des Wertes von Anwendung zu Anwendung unterschiedlich abhängig davon, wie stark Präzision und Sensitvität gegeneinander gewichtet sein sollen. Der F1-Score bildet den exakten Mittelwert aus den beiden Kennzahlen, jedoch kann es passieren, dass eine der Kennzahlen etwas wichtiger ist. Somit sollte der F1-Score spezifisch auf den Anwendungsfall interpretiert werden und es lässt sich allgemeine Aussage über einen ausreichend hohen F1-Score treffen.
Welche Anwendungen verwenden dieses Maß?
Diese Kennzahl ist eine Mischung aus der Präzision und der Sensitivität und wird in Klassifizierungsproblemen genutzt, um festzustellen, wie gut die Modellleistung ist. Solche Klassifizierungen kommen in unterschiedlichsten Anwendungen vor. Zu den häufigsten zählen:
- Medizinische Diagnose: Bei der Diagnose von Patienten ist es wichtig sicherzustellen, dass das Modell auch wirklich alle kranken Personen identifiziert, sodass alle eine entsprechende Behandlung erfahren können und hoffentlich gesund werden. Eine gute Leistung des Modells zeichnet sich auch durch eine gute Balance zwischen Sensitivität und Genauigkeit aus.
- Betrugsaufdeckung: Die Betrugserkennung kommt beispielsweise im Finanzbereich zum Einsatz, um normale Transaktionen von betrügerischen Transaktionen unterscheiden zu können. Diese Datensätze sind oft unausgewogen in den beiden Klassen, sodass es Sinn macht, den F1-Score zu nutzen.
- Stimmungsanalyse: Im Bereich des Natural Language Processings werden Texte darauf untersucht, ob sie eher in einer positiven, negativen oder neutralen Stimmung geschrieben wurden. Dadurch lassen sich große Textdateien, die zum Beispiel Produktbewertungen enthalten, einfach vorbearbeiten, um einen ersten Überblick zu erhalten.
- Bild-Klassifizierung: Bei der Verarbeitung von Bildern finden Klassifizierungen statt, um zu entscheiden, ob gewisse Objekte oder Muster in dem Bild erkennbar sind.
- Spam-Filterung: Viele E-Mail Anbieter bieten eine Spam-Filterung, um den Nutzer vor betrügerischen oder nervigen E-Mails zu schützen und diese in den Spam-Ordner zu verlagern. Wenn jedoch wichtige, ungefährliche E-Mails auch dort landen, kann dies zu einer schlechten User Experience führen. Deswegen werden gute Klassifizierungsmodelle benötigt, um sich gegenüber Konkurrenten abheben zu können.
Im Allgemeinen ist der F1-Score eine nützlich Metrik für jedes Klassifizierungsproblem, bei dem sowohl die Genauigkeit als auch die Sensitivität eine Rolle spielen.
Was sind die Grenzen des F1-Score und welche Alternativen gibt es?
Obwohl der F1-Score weit verbreitet und sehr beliebt ist, hat er auch einige Einschränkungen, die vor einer Benutzung abgewägt werden sollen. Deshalb werfen wir in diesem Abschnitt einen genaueren Blick auf die Grenzen dieser Kennzahl und nennen gleichzeitig Alternativen, um diese Probleme zu umgehen.
Die größte Einschränkung des F1-Scores ist, dass das harmonische Mittel zwischen Präzision und Recall gebildet wird, sodass beiden Kennzahlen eine gleich hohe Bedeutung zukommt. In manchen Anwendungsfällen ist jedoch eine der beiden Größen wichtiger als die andere. Bei der Betrugserkennung beispielsweise, kann es wichtiger sein, einen hohen Recall zu haben, also möglichst alle Betrugsfälle aufzudecken, und dabei die Präzision etwas zu vernachlässigen, da die Falsch-Positiven Ergebnisse lediglich zu mehr Untersuchungen führen würden. Für solche Fälle können andere Metriken wie der F2-Score oder der F-Beta-Score genutzt werden, die den Recall höher gewichten als die Präzision.
Ein weitere Einschränkung besteht darin, dass die True-Negatives nicht berücksichtigt werden. Diese werden nur indirekt über die False-Positives mit berücksichtigt jedoch nicht aktiv optimiert. Wenn alle Fälle der Konfusionsmatrix in der Optimierung beachtet werden sollen, kann beispielsweise der Matthews-Korrelationskoeffizient genutzt werden, um eine Kennzahl aus allen Fällen zu errechnen.
Welche Alternativen gibt es zum F1-Score?
Zusätzlich oder anstelle des F1-Scores können auch andere Metriken zur Bewertung von Klassifizierungen genutzt werden. Hier sind einige der häufigsten Kennzahlen:
- Präzision und Recall: Anstatt die Mischung dieser beiden Kennzahlen zu bewerten, können sie auch einzeln genutzt werden, je nachdem wie viel Gewicht auf die einzelnen Kennzahlen gelegt werden soll.
- AUC-ROC: Der Bereich unter der ROC-Kurve wird auch gerne verwendet, um ein Modell zu bewerten, das sich zwischen zwei Klassen entscheiden muss. Damit wird die Fähigkeit bewertet, die beiden Klassen korrekt auseinander zu halten.
- Log Loss: Der Log-Loss oder die Binary Cross-Entropy misst die Differenz zwischen vorhergesagter und tatsächlicher Klassenwahrscheinlichkeit. Dies ist besonders für probabilistische Modelle nützlich und wird außerdem auch für Neuronale Netze als Verlustfunktion eingesetzt.
- G-Mittelwert: Der G-Mittelwert fasst ähnlich wie der F1-Score zwei Kennzahlen zusammen und bildet aus ihnen den Mittelwert. In diesem Fall wird das geometrische Mittel aus Sensitivität und Spezifität gebildet.
Abhängig von der Anwendung und dem jeweiligen Modell sollte eine oder mehrere geeignete Bewertungsmetriken gewählt werden. Diese sind außerdem auch immer abhängig vom Datensatz und dessen Ausgewogenheit.
Was sind die Best Practices für die Verwendung des F1-Score?
Bei der Verwendung des F1-Scores kann es hilfreich sein, die folgenden Best Practices anzuwenden:
- Abhängig man Anwendungsfall sollte sichergestellt werden, dass der F1-Score eine gute Kennzahl zur Bewertung des Klassifikators ist.
- Außerdem sollte man sich klar machen, welche Auswirkungen die jeweiligen Fehler, also die False-Positives und False-Negatives, auf das Problem haben und wie kritisch sie sind.
- Je nach Datensatz sollten die Daten so vorverarbeitet werden, dass die Klassenverteilung möglichst ausgewogen ist. Wenn dies nicht möglich ist oder zu einer deutlichen Reduzierung der Datensatzgröße führen würde, kann dies auch ausgelassen werden.
- Eine Kreuzvalidierung kann sicherstellen, dass der F1-Score noch aussagekräftiger ist, indem verschiedene Testsets genutzt werden, auf denen die Kennzahl berechnet wird.
- Der F1-Score sollte nicht die einzig genutzte Metrik zur Leistungsbeurteilung sein. Abhängig von der Anwendungen sollten auch andere Kennzahlen in Betracht gezogen werden.
- Der Schwellenwert legt fest, ab welcher Wahrscheinlichkeit eine Vorhersage der einen oder anderen Klasse zugeordnet wird. Dieser sollte so gewählt werden, dass ein guter Kompromiss zwischen Präzision und Recall erreicht wird.
- Überwache den F1-Score währen des Trainings, um frühzeitig eingreifen zu können oder Optimierungspotenziale ausfindig zu machen.
Diese Best Practices legen eine gute Basis für die richtige Anwendung des F1-Scores und erhöhen die Wahrscheinlichkeit ein gutes und robustes Modell zu trainieren.
Das solltest Du mitnehmen
- Der F1-Score ist eine beliebte Wahl, um die Leistung von Klassifizierungsmodellen zu bewerten.
- Er stellt das harmonische Mittel aus Präzision und Recall dar und bildet eine einzige Metrik, die die beiden Kennzahlen enthält.
- Die Interpretation des Wertes hängt von der jeweiligen Anwendung und der Gewichtung in Richtung Recall oder Präzision ab.
- Andere Kennzahlen wie der F2-Score können die Grenzen des F1-Scores überwinden und sollten auch bei der Bewertung berücksichtigt werden.
- Eine effektive Modellevaluierung hängt entscheidend von der Wahl einer geeigneten Kennzahl ab, weshalb dies nicht unterschätzt werden sollte.
Was ist Gibbs-Sampling?
Erforschen Sie Gibbs-Sampling: Lernen Sie die Anwendungen kennen und erfahren Sie, wie sie in der Datenanalyse eingesetzt werden.
Was ist ein Bias?
Auswirkungen und Maßnahmen zur Abschwächung eines Bias: Dieser Leitfaden hilft Ihnen, den Bias zu verstehen und zu erkennen.
Was ist die Varianz?
Die Rolle der Varianz in der Statistik und der Datenanalyse: Verstehen Sie, wie man die Streuung von Daten messen kann.
Was ist die KL Divergence (Kullback-Leibler Divergence)?
Erkunden Sie die Kullback-Leibler Divergence (KL Divergence), eine wichtige Metrik in der Informationstheorie und im maschinellen Lernen.
Was ist MLE: Maximum-Likelihood-Methode?
Verstehen Sie die Maximum-Likelihood-Methode (MLE), ein leistungsfähiges Werkzeug zur Parameterschätzung und Datenmodellierung.
Was ist der Varianzinflationsfaktor (VIF)?
Erfahren Sie, wie der Varianzinflationsfaktor (VIF) Multikollinearität in Regressionen erkennt, um eine bessere Datenanalyse zu ermöglichen.
Andere Beiträge zum Thema F1-Score
In der Scikit-Learn Dokumentation findest Du eine Anleitung, wie Du die Bibliothek verwenden kannst.
Niklas Lang
Seit 2020 bin ich als Machine Learning Engineer und Softwareentwickler tätig und beschäftige mich leidenschaftlich mit der Welt der Daten, Algorithmen und Softwareentwicklung. Neben meiner Arbeit in der Praxis unterrichte ich an mehreren deutschen Hochschulen, darunter die IU International University of Applied Sciences und die Duale Hochschule Baden-Württemberg, in den Bereichen Data Science, Mathematik und Business Analytics.
Mein Ziel ist es, komplexe Themen wie Statistik und maschinelles Lernen so aufzubereiten, dass sie nicht nur verständlich, sondern auch spannend und greifbar werden. Dabei kombiniere ich praktische Erfahrungen aus der Industrie mit fundierten theoretischen Grundlagen, um meine Studierenden bestmöglich auf die Herausforderungen der Datenwelt vorzubereiten.