Ich nehme an einer Herausforderung teil, bei der ich ein Modell erstellt habe, das 70% AUC am Zugset und 70% AUC am Hold-Out-Test-Set ausführt.
Der andere Teilnehmer hat ein Modell erstellt, das 96% AUC am Zugset und 76% AUC am Hold-Out-Testset ausführt.
Meiner Meinung nach ist mein Modell besser, weil es auf einem Hold-Out-Set die gleiche Leistung erbringt.
F: Ist es gültig zu argumentieren, dass seine 76% bei einem Testsatz nur ein Zufall sind und dass sein Modell bei einem anderen Testsatz schlechter abschneiden könnte?
7
Antworten:
Dies hängt davon ab, wie Ihre Trainings- und Testsätze zusammengesetzt sind.
Wenn der Testsatz ziemlich groß ist und die Datenvielfalt im "Anwendungsfall" korrekt widerspiegelt, würde ich nicht so argumentieren. Wenn die Testdaten jedoch eher klein sind, können Sie natürlich zufällig gute oder schlechte Ergebnisse erzielen. In solchen Fällen wäre es hilfreich, mehr Testdaten zu verwenden (oder - wenn möglich - einen größeren Teil der insgesamt verfügbaren Daten zu verwenden).
Darüber hinaus sollten die Trainingsergebnisse mithilfe einer inneren Partitionierung (z. B. wiederholte Kreuzvalidierung) erzielt werden, bei der Daten getestet werden, die das Modell zuvor noch nicht gesehen hat. Die auf diese Ergebnisse verteilte Leistung und Leistung zeigt Ihnen, wie Ihr Modell normalerweise funktioniert und wie wahrscheinlich es ist, nur bessere oder schlechtere Ergebnisse zu erzielen. Mit einem solchen Verfahren würde ich keine Testergebnisse, die besser als Ihre Lebenslaufergebnisse sind, als realistisch betrachten. Sie sollten sich wahrscheinlich auch die CV-Leistung und die Leistungsverteilung beider Modelle ansehen und vergleichen.
Und: Denken Sie daran, dass Ihre Trainingsergebnisse möglicherweise immer noch deutlich besser sind als Ihre Testergebnisse und tatsächlichen Anwendungsfallergebnisse, wenn Ihre Trainingsdaten im Vergleich zu Ihren Testdaten eher klein sind.
quelle
Wenn der Fokus ausschließlich auf der Vorhersagegenauigkeit liegt, ist das überangepasste Modell höchstwahrscheinlich besser. Nehmen Sie zB einen zufälligen Wald: Auf dem Trainingsdatensatz passt er konstruktionsbedingt extrem über. Dennoch sind die Ergebnisse des Testdatensatzes oft recht vernünftig (und die Testleistung liegt nahe an der angegebenen Out-of-Bag-Leistung).
Dies funktioniert nur, wenn der Testdatensatz "reale Fälle" widerspiegelt und die Annahmen der zugrunde liegenden Modelle angemessen erfüllt sind.
quelle
Es ist durchaus möglich (und in bestimmten Situationen), dass auch das Test-Set überpasst wird. Richtig angepasste Modelle sollten sowohl für die Trainings- als auch für die Testdatensätze eine ungefähr ähnliche kreuzvalidierte Leistung erzielen. Best Practices wären, auch einen anderen Teil des Datensatzes anzuhalten, der nur einmal verwendet wird: um die Leistung des Modells anhand von Daten zu bewerten, die es überhaupt nicht gesehen hat.
Wenn Sie den Testsatz verwenden, um das Modell iterativ zu erstellen, z. B. indem Sie eine Funktion hinzufügen und dann sehen, wie sie auf dem Testsatz validiert wird, geben Sie dem Modell Informationen zum Testsatz. Insbesondere werden Ihre Ergebnisse für den Testsatz höher eingestellt (dh Sie passen zu viel), wenn Sie das Modell basierend auf der Leistung des Testsatzes optimieren.
quelle