Ist eine 100% ige Modellgenauigkeit bei Überanpassung von Daten außerhalb der Stichprobe?

11

Ich habe gerade den maschinellen Lernkurs für R auf kognitiver Klasse abgeschlossen und begonnen, mit zufälligen Wäldern zu experimentieren.

Ich habe ein Modell mithilfe der Bibliothek "randomForest" in R erstellt. Das Modell wird in zwei Klassen unterteilt: gut und schlecht.

Ich weiß, dass ein Modell, wenn es überpasst ist, bei Daten aus seinem eigenen Trainingsset eine gute Leistung erbringt, bei Daten außerhalb der Stichprobe jedoch eine schlechte Leistung.

Um mein Modell zu trainieren und zu testen, habe ich den gesamten Datensatz gemischt und in 70% für das Training und 30% für das Testen aufgeteilt.

Meine Frage: Ich erhalte eine 100% ige Genauigkeit aus der Vorhersage, die mit dem Testsatz durchgeführt wurde. Ist das schlecht? Es scheint zu schön, um wahr zu sein.

Das Ziel ist die Wellenformerkennung von vier aufeinander abhängigen Wellenformen. Die Merkmale des Datensatzes sind die Kostenergebnisse der dynamischen Zeitverzerrungsanalyse von Wellenformen mit ihrer Zielwellenform.

Milan van Dijck
quelle
Willkommen auf der Seite! Haben Sie versucht, einige Rauschdaten vorherzusagen?
Toros91
Jedes Mal, wenn Sie neu mischen, trainieren und testen, beträgt die Genauigkeit 100%?
Alex
@ Alex Nicht genau, aber es bleibt sehr hoch wie 98,55%
Milan van Dijck
1
@ Alex 11,35% "ok" und 88,65% "schlecht"
Milan van Dijck
1
Das ist ziemlich unausgewogen. Versuchen Sie, das Resampling (wiederholtes Sampling) zu verwenden, um das Gleichgewicht im Trainingssatz in Richtung OK-Klasse zu bringen (z. B. 30%), und behalten Sie das Verhältnis 11/89 in den Test- / Validierungssätzen bei. Was bekommst du?
Alex

Antworten:

29

Hohe Validierungswerte wie Genauigkeit bedeuten im Allgemeinen, dass Sie nicht überanpassen. Dies sollte jedoch zu Vorsicht führen und kann darauf hinweisen, dass ein Fehler aufgetreten ist. Dies könnte auch bedeuten, dass das Problem nicht zu schwierig ist und dass Ihr Modell wirklich eine gute Leistung erbringt. Zwei Dinge, die schief gehen könnten:

  • Sie haben die Daten nicht richtig aufgeteilt und die Validierungsdaten sind auch in Ihren Trainingsdaten enthalten. Dies bedeutet, dass dies auf eine Überanpassung hinweist, da Sie die Generalisierung nicht mehr messen
  • Sie verwenden einige Feature-Engineering-Funktionen, um zusätzliche Features zu erstellen, und haben möglicherweise eine Zielleckage eingeführt, bei der Ihre Zeilen Informationen aus dem aktuellen Ziel verwenden, nicht nur aus anderen in Ihrem Trainingssatz
Jan van der Vegt
quelle
11
100% Genauigkeit schreit immer "Zielleckage".
Paul
0

Untersuchen Sie, welche Funktionen für Sie am aussagekräftigsten sind. Manchmal haben Sie versehentlich Ihr Ziel (oder etwas, das Ihrem Ziel entspricht) in Ihre Funktionen aufgenommen.

Tom
quelle