In einigen Vorlesungen und Tutorials, die ich gesehen habe, wird vorgeschlagen, Ihre Daten in drei Teile aufzuteilen: Schulung, Validierung und Test. Es ist jedoch nicht klar, wie der Testdatensatz verwendet werden soll und wie dieser Ansatz besser ist als eine Kreuzvalidierung über den gesamten Datensatz.
Nehmen wir an, wir haben 20% unserer Daten als Testsatz gespeichert. Dann nehmen wir den Rest, teilen ihn in k-Faltungen auf und ermitteln mithilfe der Kreuzvalidierung das Modell, das die beste Vorhersage für unbekannte Daten aus diesem Datensatz liefert. Nehmen wir an, das beste Modell, das wir gefunden haben, liefert eine Genauigkeit von 75% .
Verschiedene Tutorials und viele Fragen auf verschiedenen Q & A-Websites besagen, dass wir unser Modell jetzt anhand eines gespeicherten (Test-) Datensatzes verifizieren können. Aber ich kann immer noch nicht verstehen, wie genau es gemacht wird und worum es geht.
Nehmen wir an, wir haben eine Genauigkeit von 70% im Testdatensatz. Also, was machen wir als nächstes? Versuchen wir es mit einem anderen Modell und dann mit einem anderen, bis wir einen Highscore für unseren Testdatensatz erhalten? In diesem Fall sehen wir jedoch so aus, als würden wir nur das Modell finden, das zu unserem begrenzten (nur 20%) Test-Set passt . Dies bedeutet nicht, dass wir das Modell finden, das im Allgemeinen am besten ist.
Darüber hinaus , wie können wir diese Partitur als eine allgemeine Bewertung des Modells betrachten, wenn es nur auf eine begrenzte Datenmenge berechnet wird? Wenn diese Punktzahl niedrig ist, hatten wir möglicherweise Pech und wählten "schlechte" Testdaten aus.
Wenn wir dagegen alle uns vorliegenden Daten verwenden und dann das Modell mithilfe der k-fachen Kreuzvalidierung auswählen, finden wir das Modell, das die beste Vorhersage für unbekannte Daten aus dem gesamten uns vorliegenden Datensatz liefert.