Was sind eigentlich Trainings- und Testdaten und wofür werden sie gebraucht?
Vereinfacht dargestellt werden Datensätze beim Supervised Learning in Trainings- und Testdaten aufgeteilt, um überprüfen zu können, wie gut Algorithmen Vorhersagen für ihnen unbekannte Daten treffen können.
Dafür wird zunächst ein Algorithmus auf Basis der Trainingsdaten trainiert. Er erlernt eine Funktion f(x), die es dem Algorithmus erlaubt, jedem Input x einen Output y zuzuordnen. Anhand dieser Funktion kann der Algorithmus anschließend Vorhersagen treffen.
Um herauszufinden, wie genau diese Vorhersagen sind, bestimmt man Kennzahlen, die die Performance des Algorithmus messbar machen. Diese können allerdings nicht mit den Trainingsdaten bestimmt werden, da der Algorithmus die Trainingsdaten bereits „kennt“.
Hier kommen die Testdaten ins Spiel, da diese dem Algorithmus unbekannt sind. Man lässt den Algorithmus Vorhersagen für die einzelnen Inputs x der Testdaten treffen und vergleicht diese anschließend mit den bekannten Outputs y. Auf diese Wiese ist es möglich, die Genauigkeit eines Algorithmus unter realen Bedingungen zu überprüfen. Anhand der Vorhersagegenauigkeit und weiterer Kennzahlen kann man anschließend eine Feinabstimmung des Algorithmus vornehmen.
Das Verhältnis von Trainingsdaten und Testdaten ist abhängig vom verwendeten Algorithmus. Häufig wird ein Datensatz jedoch in 80 % Trainingsdaten und 20 % Testdaten aufgeteilt.
Für die Aufteilung des Datensatzes in Trainings- und Testdaten gibt es mehrere Methoden. Die Grundidee bleibt dabei jedoch dieselbe. Eine der bekanntesten Methoden ist Cross Validation.
Beim Training von Machine Learning Algorithmen spielen Daten eine entscheidende Rolle. Ohne genügend Daten in entsprechender Qualität ist es nicht möglich, einen Algorithmus zu trainieren, der in der Lage ist, präzise Vorhersagen zu treffen. Ein Algorithmus ist also immer nur so gut wie seine Trainingsdaten.
Quellen (übersetzt): Medium und V7
Schaden gut. Alles gut.