Ich würde empfehlen, einen Blick auf "7.10.2 Die falsche und richtige Methode zur Kreuzvalidierung" in http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf zu werfen .
Die Autoren geben ein Beispiel, in dem jemand Folgendes tut:
- Untersuchen Sie die Prädiktoren: Finden Sie eine Teilmenge von „guten“ Prädiktoren, die eine ziemlich starke (univariate) Korrelation mit den Klassenbezeichnungen aufweisen
- Erstellen Sie mit nur dieser Teilmenge von Prädiktoren einen multivariaten Klassifikator.
- Verwenden Sie die Kreuzvalidierung, um die unbekannten Optimierungsparameter und den Vorhersagefehler des endgültigen Modells abzuschätzen
Dies hört sich sehr ähnlich an, als würden Sie eine EDA für alle (dh Training plus Test) Ihrer Daten durchführen und mithilfe der EDA "gute" Prädiktoren auswählen.
Die Autoren erklären, warum dies problematisch ist: Die quervalidierte Fehlerrate ist künstlich niedrig, was Sie in die Irre führen könnte, wenn Sie glauben, ein gutes Modell gefunden zu haben.
Das Anwenden von EDA auf Testdaten ist falsch.
Training ist der Prozess der Suche nach den richtigen Antworten, um das beste Modell zu erstellen. Dieser Prozess beschränkt sich nicht nur auf das Ausführen von Code für Trainingsdaten. Die Verwendung von EDA-Informationen, um zu entscheiden, welches Modell verwendet werden soll, um Parameter usw. zu optimieren, ist Teil des Trainingsprozesses und sollte daher keinen Zugriff auf Testdaten gewähren. Um sich selbst treu zu bleiben, sollten Sie Testdaten nur verwenden, um die Leistung Ihres Modells zu überprüfen.
Wenn Sie feststellen, dass das Modell während des Testens keine gute Leistung erbringt und Sie dann wieder Ihr Modell anpassen, ist dies auch nicht gut. Teilen Sie stattdessen Ihre Trainingsdaten in zwei Teile auf. Verwenden Sie eine für das Training und eine andere, um Ihre Modelle zu testen und zu optimieren. Siehe Was ist der Unterschied zwischen Test- und Validierungssatz?
quelle
Nach dem Absatz dieser Antwort . Hastie erklärt weiter S.245 :
quelle
Sie führen EDA für den gesamten Datensatz durch. Wenn Sie beispielsweise eine einmalige Kreuzvalidierung verwenden, wie würden Sie EDA nur für einen Trainingsdatensatz durchführen ? In diesem Fall wird jede Beobachtung mindestens einmal trainiert und gehalten.
Nein, Sie verstehen die Daten der gesamten Stichprobe. Wenn Sie in der Industrie sind, ist es noch offensichtlicher. Von Ihnen wird erwartet, dass Sie den Stakeholdern im Unternehmen die Trends und die allgemeine Beschreibung der Daten zeigen, und Sie tun dies für die gesamte Stichprobe.
quelle