Zum Inhalt springen

Model Evaluation – einfach erklärt!

Beim Machine Learning ist die Erstellung eines guten Modells nur der erste Schritt. Mindestens genauso wichtig ist es, anschließend auch die Vorhersagequalität des Modells zu messen und zu prüfen, wie gut es mit neuen Daten umgehen kann, die nicht Teil des Trainings waren. Die Model Evaluation umfasst verschiedene Prozesse, um die Modellqualität und die sogenannte Generalisierungsfähigkeit unabhängig messen zu können. Die Model Evaluation sollte Bestandteil eines jeden Trainings sein, damit keine irreführenden Vorhersagen getroffen werden und außerdem sichergestellt wird, dass das Modell auch in der Anwendung voraussichtlich gut funktioniert. 

In diesem Artikel geben wir einen Überblick über die verschiedenen Bewertungsmethoden, welche innerhalb der Model Evaluation genutzt werden. Zusätzlich gehen wir auch auf verschiedene Metriken ein, die zur Bewertung herangezogen werden und beleuchten, wie diese funktionieren und die Qualität des Modells bewerten können. 

Was ist die Model Evaluation?

Die Model Evaluation bezeichnet den Prozess im Machine Learning während dem die Leistungsfähigkeit eines Modells systematisch überprüft und bewertet wird. Das Ziel ist es, herauszufinden, wie gut die Vorhersagequalität des Modells ist und wie gut damit auch neue Daten vorhergesagt werden können. Dabei soll noch während dem Modellerstellungsprozess die schlussendliche Anwendung simuliert werden, sodass deutlich wird, ob es später auch in der Praxis gute Ergebnisse liefern kann.

Die Erstellung eines Modells birgt das Risiko, dass es in der Praxis falsche Vorhersagen trifft, welche weitreichende Folgen haben können, beispielsweise wenn es genutzt wird um Investitionsentscheidungen zu treffen. Durch die Model Evaluation lässt sich prüfen, ob das Modell auch auf neue Daten genauso gut reagiert, wie es im Training angedeutet hat und dadurch kann das Risiko für die Praxis minimiert werden. Die Model Evaluation verfolgt dabei diese Ziele:

  • Leistungsbeurteilung: Für die Vergleichbarkeit des Modells mit anderen Architekturen ist es wichtig, die Leistung messen und vergleichen zu können.
  • Robustheit: Das Modell sollte nicht nur für den genutzten Datensatz im Training gute Ergebnisse liefern, sondern auch in der späteren Anwendung, bei der es auf leicht veränderte Daten treffen kann. Die Model Evaluation hilft dabei beurteilen zu können, wie robust das Modell später sein wird.
  • Generalisierungsfähigkeit: Das Ziel beim Modelltraining ist es, die zugrundeliegenden Strukturen in den Daten zu erkennen, damit diese auf neue Datensätze angewendet werden können. Mithilfe der Model Evaluation kann herausgefunden werden, ob das Modell lediglich die Daten auswendig gelernt oder sie wirklich verstanden hat.

Welche Bewertungsmethoden gibt es in der Model Evaluation?

Beim Training von Machine Learning Modellen hat man meist einen konkreten Anwendungsfall im Kopf, wie zum Beispiel die Erstellung einer Spam-Klassifikation für E-Mails, für die das erstellte Modell später genutzt werden soll. Zum Zeitpunkt des Trainings besitzt man jedoch nur einen Trainingsdatensatz, welcher Daten aus der Vergangenheit enthält, weshalb es schwierig ist, zu beurteilen, wie gut sich das Modell später in der Anwendung auf neuen, vorher nicht gesehenen Daten verhält. Man spricht davon, dass das Modell gut generalisiert, wenn es im Trainingsdatensatz die zugrundeliegenden Muster in den Daten erkannt hat, sodass es auch in der späteren Anwendung gut performt. 

Damit man nun auch schon während der Erstellung und dem Training des Modells ausreichende Ergebnisse erhält, wie gut das Modell später generalisieren wird, haben sich im Bereich der Model Evaluation zwei Methoden entwickelt, welche den späteren Anwendungsfall simulieren, indem sie für das Modell neue Daten bereithalten. 

Train/Test-Split

Beim Train/Test-Split handelt es sich um eine weit verbreitete Methode innerhalb der Model Evaluation, mit der nach dem Modelltraining festgestellt werden kann, wie gut die Vorhersagen für neue/ungesehene Daten sind. Dabei werden die verfügbaren Daten in zwei Teile aufgeteilt: 

  • Trainingsdaten: Dieser Teil des Datensatzes wird während des Trainings verwendet, um die Architektur des Modells zu verfeinern, also um Parameter anzupassen und die zugrundeliegenden Strukturen in den Daten zu erkennen. 
  • Testdaten: Diese Datenpunkte wurden nicht im Training verwendet und sind somit für das trainierte Modell noch vollkommen neu. Sie werden nach dem Training zur Model Evaluation verwendet, um beurteilen zu können, wie das Modell auf neue, ungesehene Daten regaiert und damit den realen Anwendungsfall zu simulieren. 

Der Train/Test-Split hilft dabei bewerten zu können, ob ein Modell die Trainingsdaten lediglich auswendig lernt oder tatsächlich den Datensatz versteht und die zugrundeliegenden Muster erkennt, sodass es vermutlich gut generalisiert. Ohne diese Abschätzung wäre die Bewertung der Leistungsfähigkeit wahrscheinlich zu optimistisch, wenn man das Modell mit denselben Daten testen würde, mit denen es auch trainiert wurde.

Man kennt diese Situation auch aus der Realität, wenn man Vokabeln in einer neuen Sprache lernt, zum Beispiel 20 Stück. Wenn man diese immer und immer wieder wiederholt, also lernt, dann wird man irgendwann sehr gut darin, diese wiederzugeben. Wenn man also nach einer gewissen Trainingszeit 19 von 20 Vokabeln richtig übersetzen kann, dann hat man zwar eine sehr gute Leistung erzählt, jedoch wird durch dieses Ergebnis nicht klar, ob die Trainingszeit einfach genutzt wurde, um die Begriffe auswendig zu lernen oder man tatsächlich die Fremdsprache etwas besser verstanden hat.

Mithilfe des Train/Test-Splits würde man lediglich 15 Vokabeln zum Lernen nutzen und nach dem Trainingsprozess diese Beiseite legen und sich die letzten fünf vornehmen, um zu schauen, ob man diese auch übersetzen kann, obwohl man sie noch nie gesehen hat. Dies zeigt dann, ob man die Sprache auch verstanden hat und zum Beispiel erkennt, dass man die Vokabel “play” im Training gelernt hat und deshalb im Testdatensatz nun die Vokabel “player” übersetzen kann.

Diese Methode ist besonders einfach und kann schnell in einem Modell umgesetzt werden. Abhängig von der Datensatzgröße kann man verschiedene Splits ausprobieren, wie zum Beispiel 90% des Datensatzes für das Training und 10% für die Tests zu verwenden. Jedoch kann es vor allem bei kleinen Datensätzen zu Problemen kommen, wenn nach dem Split nicht mehr genügend Datenpunkte für das Training übrigbleiben. 

Cross Validation

Die Cross Validation ist eine weitere Methode, um die Generalisierungsfähigkeit des Modells unabhängig bewerten zu können. Sie geht dabei über den reinen Train/Test-Split hinaus, indem sie den Datensatz mehrfach in Trainings- und Testdatensatz aufsplittet und nicht nur einmal. Dadurch liefert sie meist zuverlässigere Ergebnisse, da unterschiedlichere Datenkonstellationen getestet werden. 

Hierbei gibt es verschiedene Varianten der Cross Validation für die Model Evaluation: 

  • Bei der k-Folds Cross-Validation wird der Datensatz in k gleichgroße Untermengen, die sogenannten Folds aufgeteilt. Anschließend wird das Modell insgesamt k-mal trainiert, wobei in jedem Durchlauf ein anderer Fold als Testset verwendet wird und die restlichen Folds den Trainingsdatensatz bildet. Abschließend kann die Leistung des Modells anhand der k-Kennzahlen bewertet werden. 
Das Bild zeigt ein Beispiel der K-Fold Cross Validation.
K-Fold Cross Validation | Quelle: Autor
  • Die Leave-One-Out-Cross-Validation ist die Extremform davon, indem jeder Fold lediglich aus einem einzigen Datenpunkt des Datensatzes besteht. Dann wird das Modell immer mit dem gesamten Datensatz bis auf einen Datenpunkt trainiert und die Leistung bewertet. Diese Model Evaluation Methode bietet zwar sehr zuverlässige Ergebnisse, ist jedoch auch sehr rechenintensiv, weshalb sie lediglich bei kleineren Datensätzen und einfachen Modellarchitekturen genutzt werden sollte, da ansonsten die Ressourcennutzung in keinem Verhältnis zum Ergebnis steht. 

Die Cross Validation Methoden bieten eine robuste Bewertung der Leistungsfähigkeit des Modells und können auch bei kleinen Datensätzen verwendet werden, in denen der Train/Test-Split möglicherweise nicht geeignet ist. Außerdem lassen sie sich mittlerweile mit unterschiedlichen Machine Learning Bibliotheken auch sehr einfach in bestehende Modelle integrieren. 

Welche Metriken werden für die Model Evaluation genutzt?

Um die Leistung eines Modells bewerten und sie mit anderen Modellarchitekturen vergleichen zu können, werden spezielle Metriken benötigt, mit denen man die Model Evalution vornehmen kann. Abhängig von der Art der Anwendung, haben sich verschiedene Kennzahlen verbreitet, die häufig genutzt werden. In diesem Abschnitt stellen wir die populärsten Metriken für Regressionen, Klassifikationen und Cluster genauer vor. 

Model Evaluation für Regression

Die Regression umfasst Modelle, bei denen kontinuierliche Werte vorhergesagt werden, wie zum Beispiel der Preis einer Immobilie oder die zukünftige Temperatur an einem bestimmten Ort. Bei diesen Anwendungen ist es nur äußerst selten, dass exakt der richtige Wert vorhergesagt wird, da der Zahlenraum dafür einfach viel zu groß ist. Vielmehr ist man daran interessiert, wie nahe die Vorhersage dem tatsächlichen Wert kommt. Diese Differenz kann zum Beispiel mit den beiden folgenden Kennzahlen berechnet werden. 

Mittlerer Absoluter Fehler (engl.: Mean Absolute Error (MAE))

Der Mittlere Absolute Fehler ist sehr einfach zu verstehen und wird deshalb auch häufig verwendet. Dabei wird für jeden Datenpunkt die absolute Differenz zwischen der Vorhersage des Modells und dem tatsächlichen Label des Datenpunkts berechnet: 

\(\)\[MAE=\frac{1}{n}\sum_{i=1}^{n}{|y_i-{\hat{y}}_i|}\]

Hierbei steht \(y_i\) für das Label des Datenpunkts \(i\) und \(\hat{y_i}\) für die Vorhersage des Modells für den entsprechenden Datenpunkt. Die Hauptvorteile dieser Kennzahl sind die einfache Interpretierbarkeit und Berechnung, weshalb es auch vor allem genutzt wird, wenn der Fehlerterm eines Modells explizit interpretiert werden soll. Mathematisch gesehen ist dieser Fehler vorteilhaft, da er robust gegenüber Ausreißern reagiert. Dies bedeutet, dass er nicht empfindlich gegenüber Datenpunkten reagiert, die sich deutlich von den anderen Datenpunkten unterscheiden. 

Ein Nachteil von dieser Kennzahl ist, dass jeder Fehler gleichbehandelt wird und sehr starke Abweichungen genauso stark ins Gewicht fallen, wie leichte Abweichungen.

Mittlerer Quadratischer Fehler (engl.: Mean Squared Error (MSE))

Der Mittlere Quadratische Fehler ist sehr ähnlich zu der davor vorgestellten Kennzahl mit dem Unterschied, dass die Differenz zwischen Vorhersage und tatsächlichem Ergebnis noch zusätzlich quadriert wird und nicht nur der Betrag genommen wird:

\(\)\[MSE=\frac{1}{n}\sum_{i=1}^{n}\left(y_i-{\hat{y}}_i\right)^2\]

Dieser kleine Unterschied sorgt dafür, dass große Abweichungen stärker ins Gewicht fallen als kleine Abweichungen, da sich Zahlen größer eins durch das Quadrat noch deutlich vergrößern, während kleine Abweichungen unter eins durch das Quadrat noch kleiner werden. Außerdem hat diese Funktion vorteilhafte, mathematische Funktionen, wie zum Beispiel, dass sie abgeleitet werden kann, was sie für viele Optimierungsalgorithmen interessant macht. 

Model Evaluation für Klassifikation

Bei Klassifikationsaufgaben besteht die Vorhersage darin, einen Datenpunkt einer von zwei oder mehreren Klassen richtig zuzuordnen, wie es etwa in der Spamerkennung oder bei der Klassifizierung von Bildern gemacht wird. Dadurch ergeben sich auch andere Arten von Metriken, welche speziell für Klassifikationen verwendet werden. 

Im einfachsten Fall besteht eine Klassifikation aus zwei Zuständen. Angenommen wir wollen untersuchen, wie gut Corona-Tests den Infektionsstatus eines Patienten widerspiegeln. 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. 

Mithilfe von diesen Fällen lassen sich bereits einige interessante Kennzahlen errechnen. Die am häufigsten verwendete Kennzahl ist die Genauigkeit oder im Englischen Accuracy, welche misst, wie viele der Vorhersagen im Verhältnis richtig waren.

\(\) \[\text{Genauigkeit} = \frac{\text{True Positive + True Negative}}{\text{True Positive + True Negative + False Positive + False Negative}}\]

Jedoch kann diese Metrik vor allem bei unausgewogenen Daten, in denen eine Klasse öfters repräsentiert ist als eine andere, irreführend sein. 

Die Präzision ist eine der weit verbreitesten 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}}\]

Bei 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. 

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 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. 

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.

Model Evaluation für Clustering

Das Ziel des Clusteringprozesses ist es, die Datenpunkte in verschiedene Gruppen einzuteilen, sodass alle Punkte in einer Gruppe möglichst ähnlich zueinander und gleichzeitig möglichst verschieden von den Datenpunkten in anderen Gruppen sind. Dabei werden hauptsächlich die folgenden Metriken genutzt: 

Silhouette Score

Diese Kennzahl errechnet die Ähnlichkeit eines Datenpunkts mit dem eigenen Cluster und vergleicht diese mit der Ähnlichkeit des Datenpunkts zu einem anderen Datencluster. Für jeden Datenpunkt werden die folgenden Berechnungen durchgeführt: 

  • \(a(i)\) ist die durchschnittliche Distanz des Datenpunkts \(i\) zu allen anderen Punkten im gleichen Cluster, also die sogenannte Intra-Cluster Distanz. 
  • \(b(i)\) ist die durchschnittliche Distanz des Datenpunkts \(i\) zu allen Datenpunkten im nächstgelegenen Cluster, also die sogenannte Inter-Cluster Distanz. 

Mithilfe von diesen beiden Komponenten errechnet sich dann der Silhouette Score wie folgt: 

\(\)\[s(i) = \frac{b(i) – a(i)}{max(a(i), b(i))}\]

Die Werte liegen dann zwischen -1 und 1, wobei ein Wert nahe der -1 aussagt, dass der konkrete Datenpunkt möglicherweise einem falschen Cluster zugeordnet wurde. Entsprechend bedeutet ein Wert nahe 1, dass der Datenpunkt im richtigen Cluster eingeordnet ist und ein Wert um die 0 sagt aus, dass der Punkt auf der Grenze zwischen zwei benachbarten Clustern liegt. 

Adjusted Rand Index (ARI)

Dieser Index kann in der Model Evaluation verwendet werden, wenn eine sogenannte Ground-Truth Clusterzuweisung vorliegt, also im Datensatz bereits für jeden Datenpunkt ein Label verdeutlicht, welcher Klasse der Datenpunkt zugeordnet werden sollte. Ähnlich wie in der Klassifikation können dann die vorhergesagten Cluster mit den tatsächlichen Clustern verglichen und darauf basierend eine Kennzahl ermittelt werden. Dabei werden zufällige Datenpaare gewählt und anschließend bestimmt, ob diese entweder korrekt demselben Cluster zugeordnet wurden oder eben korrekt in verschiedene Cluster eingeteilt wurden. Damit vergleicht der ARI dann, ob sich das Modell besser verhält als eine zufällige Zuteilung der Cluster.

Wie kann man die Generalisierungsfähigkeit eines Modells bewerten?

Unter der Generalisierungsfähigkeit eines Modells versteht man die Eigenschaft, die zugrundeliegenden Strukturen in den Daten zu erkennen und dadurch gute Vorhersagen bei neuen, unbekannten Daten zu treffen. Dadurch funktioniert das Modell nicht nur auf den Trainingsdaten, sondern auch in realen Anwendungen. Dabei gibt es zwei weit verbreitete Methoden, um die Generalisierungsfähigkeit zu prüfen. 

Train-Test-Gap

Die Train-Test-Gap bezeichnet die Abweichung zwischen der Modellleistung auf den Trainingsdaten mit der Leistung auf den Testdaten. Die Testdaten waren dabei ein Teil des Datensatzes, welcher explizit nicht für das Training genutzt wurde, damit Daten für das Testing bereitstehen, die das Modell vorher noch nicht gesehen hat. 

Ein kleiner Train-Test-Gap deutet in der Model Evaluation darauf hin, dass das Modell in etwa gleich gut auf den Trainingsdaten, wie auch auf den Testdaten performt. Deshalb kann man davon ausgehen, dass das Modell insgesamt gut generalisiert und nicht nur die Trainingsdaten auswendig gelernt hat. 

Ein großer Train-Test-Gap hingegen ist problematisch, da es größere Unterschiede zwischen der Modellleistung gibt. Dies kann einen der beiden Gründe haben: 

  • Overfitting liegt vor, wenn das Modell die Trainingsdaten lediglich auswendig gelernt hat und deshalb gute Kennzahlen auf den Trainingsdaten liefert, aber nur schlechte Ergebnisse für die Testdaten. 
Overfitting
Unterschied zwischen Overfitting und Generalisierung | Quelle: Autor
  • Underfitting tritt hingegen auf, wenn die Modellarchitektur schlicht zu einfach ist, um die komplexen Strukturen in den Daten erkennen und abbilden zu können. In einem solchen Fall mag die Diskrepanz zwischen Training und Test in der Model Evaluation nicht so groß sein, aber die Leistungen sind dafür auf beiden Datensätzen sehr schlecht. 

Um die Diskrepanz zwischen Training- und Testdatensatz zu verringern und ein Modell zu erstellen, das gut generalisieren kann, können Strategien, wie zum Beispiel die Regularisierung oder ein besseres Hyperparameter Tuning, helfen, um Overfitting zu vermeiden. 

Out-of-Sample-Testing

Das Out-of-Sample Testing geht über das klassische Train-Test-Gap hinaus, indem es Daten hinzunimmt, welche das Modell weder im Trainingsdatensatz noch im Validierungsdatensatz gesehen hat. Wichtig ist hierbei, dass es sich auch um Daten handelt, die leicht vom Datensatz variieren, also auch einer leicht veränderten Datenverteilung entnommen wurden. 

Abhängig von der Anwendung können dafür zum Beispiel Datensätze verwendet werden, die zu einem anderen Zeitpunkt oder in einer anderen Region erhoben wurden, sodass sie leicht abweichende Eigenschaften aufweisen. Ein leistungsstarkes Modell sollte nämlich in der Lage sein auch für solche abweichenden Daten, gute Vorhersagen zu liefern, und die Leistung sollte sich nicht stark von den Ergebnissen auf dem Testdatensatz unterscheiden. Wenn es zu einem deutlichen Leistungsabfall kommt, ist das ein Indikator dafür, dass das Modell möglicherweise overfitted und sich zu stark auf die Eigenschaften des Trainingsdatensatzes eingestellt hat. 

Das solltest Du mitnehmen

  • Model Evaluation bezeichnet den Prozess, welcher genutzt wird, um beurteilen zu können, wie gut die Leistung eines Machine Learninng Modells ist.
  • Um erkennen zu können, ob das Modell lediglich die Trainingsdaten auswendig gelernt hat oder wirklich Strukturen erkannt hat, kann man in der Model Evaluation entweder den Train/Test Split nutzen oder auf Cross-Validation setzen, um einen Teil des Datensatzes zurückzuhalten und damit die Leistung des Modells unabhängig bewerten zu können.
  • Die Model Evaluation nutzt abhängig von der Anwendung verschiedene Kennzahlen für die Bereiche Regression, Klassifikation und Clustereinteilung.
  • Um die Generalisierungsfähigkeit des Modells bewerten zu können, kann man entweder den Gap zwischen den Leistungen auf dem Trainings- und Testdatensatz berechnen oder auf eine Out-of-Sample Methode setzen.
Singular Value Decomposition

Was ist die Singular Value Decomposition?

Erkenntnisse und Muster freilegen: Lernen Sie die Leistungsfähigkeit der Singular Value Decomposition (SVD) in der Datenanalyse kennen.

Poisson Regression

Was ist die Poisson Regression?

Lernen Sie die Poisson-Regression kennen, ein statistisches Modell für die Analyse von Zähldaten, inkl. einem Beispiel in Python.

Blockchain-based AI

Was ist blockchain-based AI?

Entdecken Sie das Potenzial der blockchain-based AI in diesem aufschlussreichen Artikel über Künstliche Intelligenz und Blockchain.

Boosting

Was ist Boosting im Machine Learning?

Boosting: Eine Ensemble-Technik zur Modellverbesserung. Lernen Sie in unserem Artikel Algorithmen wie AdaBoost, XGBoost, uvm. kennen.

Feature Engineering

Was ist Feature Engineering?

Meistern Sie die Kunst des Feature Engineering: Steigern Sie die Modellleistung und -genauigkeit mit der Datentransformationen!

N-gram

Was sind N-grams?

Die Macht des NLP: Erforschen Sie n-Grams in der Textanalyse, Sprachmodellierung und verstehen Sie deren Bedeutung im NLP.

Andere Beiträge zum Thema Model Evaluation

Einen ausführlichen Artikel über die Model Evaluation in Scikit-Learn findest Du hier.

Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

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.

Cookie Consent mit Real Cookie Banner