Für Klassifizierungsprobleme habe ich neuronale Netze verwendet und Fehler vom Typ I und II unter Verwendung der Verwirrungsmatrix und ihrer Maße gemäß dieser Ressource ( Spiegel ) gemessen , was ziemlich einfach ist.
Wie würde man bei einem Schätzungsproblem die Modellleistung bewerten? Angenommen, es gibt keine Klassen und die Ausgabe wird in realer Form interpretiert. Über die Mittelwertbildung von Entfernungsmetriken hinaus, die nicht viel Aufschluss geben.
Antworten:
Der Link, den Sie gepostet haben, enthält viele der Techniken, die ich vorschlagen würde, aber zusätzlich kann das Zeichnen von Lernkurven hilfreich sein. Dies kann Ihnen helfen, nicht nur die absolute Leistung zu sehen, sondern auch ein Gefühl dafür zu bekommen, wie weit Sie von der optimalen Leistung entfernt sind.
Lernkurven: Wenn Sie die Fehlerquoten für die Kreuzvalidierung (CV) und die Fehlerraten des Trainingssatzes im Verhältnis zur Größe des Trainingssatzes darstellen, können Sie viel lernen. Wenn sich die beiden Kurven mit geringer Fehlerrate nähern, geht es Ihnen gut.
Wenn es so aussieht, als würden sich die Kurven langsam nähern und beide Richtung / niedrig bleiben, benötigen Sie mehr Daten.
Wenn die Lebenslaufkurve hoch bleibt, die Trainingssatzkurve jedoch niedrig bleibt, liegt eine Situation mit hoher Varianz vor. Sie können entweder mehr Daten abrufen oder die Regularisierung verwenden, um die Generalisierung zu verbessern.
Wenn der Lebenslauf hoch bleibt und die Trainingssatzkurve erreicht wird, haben Sie eine hohe Tendenz. In diesem Fall möchten Sie Ihrem Modell Details hinzufügen.
quelle
Es gibt mehrere Möglichkeiten, Leistungskriterien des Modells bei der Schätzung zu definieren. Die meisten Leute verwenden, wie gut das Modell zu den Daten passt. Im Falle einer Regression wird es also sein, "wie viel Varianz durch das Modell erklärt wird". Sie müssen jedoch mit einer solchen Regression vorsichtig sein, wenn Sie eine Variablenauswahl durchführen (z. B. durch LASSO), die Sie für die Anzahl der im Modell enthaltenen Parameter steuern müssen. Man kann eine kreuzvalidierte Version der erklärten Varianz verwenden, die vermutlich eine unvoreingenommene Schätzung der Modellleistung ergibt.
quelle
In Bezug auf die Scikit-Learn-Dokumentation (Python-basiertes Paket für maschinelles Lernen) sind r2_score und EXPLAIN_Varianance_score beliebte Optionen. Im Gegensatz zu Entfernungsmaßen wie mean_squared_error oder mean_absolute_error geben diese Metriken einen Hinweis darauf, wie gut oder schlecht die Vorhersage ist (näher an 1 => bessere Vorhersagen). [Übrigens würde ich bei Verwendung von Abstandsmaßen RMSE (quadratischer mittlerer Fehler) anstelle von nur MSE (mittlerer quadratischer Fehler) empfehlen, damit die Größe mit den Vorhersagen verglichen werden kann]
Alternativ können Sie auch den Korrelationskoeffizienten zwischen den vom Regressor vorhergesagten Werten und den tatsächlichen Zielvariablenwerten mithilfe des Pearson-Korrelationskoeffizienten (für lineare Modelle) berechnen oder besser den Rangkorrelationskoeffizienten nach Spearman verwenden (da dies keine linearen Modelle voraussetzt und weniger empfindlich gegenüber Ausreißern ist) ).
Die in John Yetters Antwort vorgeschlagenen Lernkurven sind ebenfalls eine gute Methode, aber die oben genannten Metriken sind möglicherweise einfacher zu bewerten.
quelle
quelle