i

Holdout Methode

Die K-Nächste-Nachbar-Klassifikation ist ein überwachtes maschinelles Lernmodell. Das Lernmodell besteht folglich aus einer Trainings- und einer Anwendungsphase. Bisher können wir noch keine Auskunft darüber geben, wie zuverlässig die Vorhersagen sind, die unser Modell macht. Gerade in der Wirtschaft ist das für viele Unternehmen aber von großem Interesse, wie auch im Beispiel des Netflix Prize. Daher sollten wir unser Modell auf einem Testdatensatz testen. Der Testdatensatz besteht dafür, wie der Anwendungsdatensatz, erst einmal nur aus den Attributen. Im Gegensatz zum Anwendungsdatensatz kennen wir die Klassenzugehörigkeiten der einzelnen Daten aber und können diese mit den Vorhersagen des Modells abgleichen. Dieses Verfahren der Evaluierung wird als Holdout Methode bezeichnet, da die Testdaten zurückgehalten werden.

Für die Holdout Methode zur Modellevaluierung wird der gegebene Datensatz in einen Trainings- und einen Testdatensatz aufgeteilt. Der Trainingsdatensatz, bestehend aus Attributen und Klassen, wird verwendet um das Lernmodell zu trainieren. Das Lernmodell wird anschließend auf dem Testdatensatz getestet. Dieser besteht nur aus den Attributen, die richtigen Klassen kennen nur wir. Getestet wird, wie gut die Klassen von dem Modell vorhergesagt werden.
Angenommen der folgende Datensatz ist gegeben:
movieID Comedy Crime Drama Romance Rating Nutzer
1 1 0 1 1 1
2 1 0 0 0 1
3 0 1 1 0 0
4 1 1 1 1 0
5 0 1 0 0 0
6 0 0 1 1 1
7 0 0 0 1 1
8 1 0 0 1 1
9 1 0 1 0 1
10 0 0 1 0 1
Hinweis: Normalerweise sind die Datensätze für maschinelle Lernmodelle deutlich größer. Dieses Beispiel dient der Verdeutlichung! Daher gibt es nur die Label "gefällt" (1) oder "gefällt nicht" (0).

Die Aufspaltung in einen Trainings- und einen Testdatensatz wird von Datenwissenschaftlern auch Train-Test-Split genannt. Folgende Train-Test-Splits stehen zur Auswahl:

Trainingsdaten 1:
movieID Comedy Crime Drama Romance Rating Nutzer
1 1 0 1 1 1
2 1 0 0 0 1
3 0 1 1 0 0
4 1 1 1 1 0
5 0 1 0 0 0
6 0 0 1 1 1
7 0 0 0 1 1
8 1 0 0 1 1
9 1 0 1 0 1
10 0 0 1 0 1
Testdaten 1:
movieID Comedy Crime Drama Romance Rating Nutzer
1 1 0 1 1 1
2 1 0 0 0 1
3 0 1 1 0 0
4 1 1 1 1 0
5 0 1 0 0 0
6 0 0 1 1 1
7 0 0 0 1 1
8 1 0 0 1 1
9 1 0 1 0 1
10 0 0 1 0 1
Trainingsdaten 2:
movieID Comedy Crime Drama Romance Rating Nutzer
1 1 0 1 1 1
2 1 0 0 0 1
3 0 1 1 0 0
5 0 1 0 0 0
6 0 0 1 1 1
7 0 0 0 1 1
10 0 0 1 0 1
Testdaten 2:
movieID Comedy Crime Drama Romance Rating Nutzer
4 1 1 1 1 0
8 1 0 0 1 1
9 1 0 1 0 1
Trainingsdaten 3:
movieID Comedy Crime Drama Romance Rating Nutzer
1 1 0 1 1 1
2 1 0 0 0 1
6 0 0 1 1 1
7 0 0 0 1 1
8 1 0 0 1 1
9 1 0 1 0 1
10 0 0 1 0 1
Testdaten 3:
movieID Comedy Crime Drama Romance Rating Nutzer
3 0 1 1 0 0
4 1 1 1 1 0
5 0 1 0 0 0
Trainingsdaten 4:
movieID Comedy Crime Drama Romance Rating Nutzer
1 1 0 1 1 1
2 1 0 0 0 1
3 0 1 1 0 0
4 1 1 1 1 0
5 0 1 0 0 0
6 0 0 1 1 1
7 0 0 0 1 1
8 1 0 0 1 1
9 1 0 1 0 1
10 0 0 1 0 1
Testdaten 4:
movieID Comedy Crime Drama Romance Rating Nutzer
1 1 0 1 1 1
3 0 1 1 0 0
5 0 1 0 0 0
7 0 0 0 1 1
Trainingsdaten 5:
movieID Comedy Crime Drama Romance Rating Nutzer
1 1 0 1 1 1
2 1 0 0 0 1
4 1 1 1 1 0
8 1 0 0 1 1
9 1 0 1 0 1
Testdaten 5:
movieID Comedy Crime Drama Romance Rating Nutzer
3 0 1 1 0 0
5 0 1 0 0 0
6 0 0 1 1 1
7 0 0 0 1 1
10 0 0 1 0 1

Aufgabe - Wahl eines guten Train-Test-Splits

Wähle aus, welchen Train-Test-Split (Version 1-5) du für das Lernmodell wählen würdest. Begründe deine Wahl und erläutere dabei, welche Probleme die von dir nicht gewählten Train-Test-Splits aufwerfen könnten.

Hinweis: Wenn du den Vollbildmodus aktivierst siehst du die Trainings- und Testdaten nebeneinander.


Die Wahl eines guten Train-Test-Splits

Bei der Auswahl eines guten Train-Test-Splits muss beachtet werden, dass beide Datensätze eine ähnliche Verteilung aufweisen. Das bedeutet, dass bestenfalls alle Klassen im Trainings- und Testdatensatz vorkommen sollten und die Attribute in beiden Datensätzen vielfältig verteilt sein sollten. Außerdem müssen beide Datensätze unabhänig voneinander sein, d.h. Trainingsdaten sollten niemals zum Testen verwendet werden. Im Allgemeinen muss der Trainingsdatensatz außerdem mindestens genauso groß sein wie der Testdatensatz, damit das Modell Regeln erkennen kann, d.h. die erklärenden Attribute identifizieren kann und genügend mögliche 'nächste Nachbarn' vorhanden sind.
In der Arbeitswelt werden die Train-Test-Splits automatisiert mit Hilfe von Programmierbefehlen erzeugt.

Suche

v
5.1.3.3.1.4.1
dev.inf-schule.de/ki/menueansicht/maschinelles_lernen_mit_python/data_science/projekt_empfehlungssysteme/modellevaluierung/traings_testdaten
dev.inf-schule.de/5.1.3.3.1.4.1
dev.inf-schule.de/@/page/zNPMlZXqQvBKYI9i

Rückmeldung geben