Kursinhalt
Lineare Regression mit Python
Lineare Regression mit Python
R-Quadrat
Was ist R-Quadrat
Wir haben einige der am häufigsten verwendeten Metriken für Regression im Kapitel Metriken behandelt. Diese sind MSE, RMSE und MAE. Sie sind gut zum Vergleichen von Modellen, aber wenn Sie ein Modell erstellen, verstehen Sie nicht immer, ob es ein guter Wert für Ihren Datensatz ist oder ob Sie weiterhin andere Modelle ausprobieren müssen.
Glücklicherweise gibt es eine Metrik namens R-Quadrat, die die Leistung des Modells auf einer Skala von 0 bis 1 misst. R-Quadrat berechnet den Anteil der Varianz des Ziels, der durch das Modell erklärt wird.
Das Problem ist, dass wir die erklärte Varianz nicht sofort berechnen können. Aber wir können die unerklärte Varianz berechnen, also lassen Sie uns die obige Gleichung umformen zu:
Gesamtvarianz
Die Gesamtvarianz ist einfach die Varianz des Ziels, und wir können die Varianz des Ziels mit der Stichprobenvarianzformel aus der Statistik berechnen (ȳ ist der Mittelwert des Ziels):
Hier ist ein Beispiel mit Visualisierung. Unterschiede zwischen dem tatsächlichen Zielwert und dem Mittelwert des Ziels sind orange gefärbt. Genau wie bei der Berechnung von SSR nehmen wir die Länge jeder orangefarbenen Linie, quadrieren sie und addieren sie zur Summe, aber jetzt teilen wir das Ergebnis auch durch m-1. Hier haben wir eine Gesamtvarianz von 11,07 erhalten.
unerklärte Varianz
Nun müssen wir die Varianz berechnen, die vom Modell nicht erklärt wird. Wenn das Modell die gesamte Varianz erklären würde, würden alle Punkte auf der erstellten Regressionslinie liegen. Das ist selten der Fall, daher möchten wir die Varianz des Ziels berechnen, aber jetzt in Bezug auf die Regressionslinie anstelle des Mittels. Wir verwenden die gleiche Formel, ersetzen jedoch ȳ durch die Vorhersagen des Modells.
Hier ist ein Beispiel mit Visualisierung:
Jetzt wissen wir alles, um das R-Quadrat zu berechnen:
Wir haben einen R-Quadrat-Wert von 0,92 erhalten, der nahe bei 1 liegt, also haben wir ein großartiges Modell. Lassen Sie uns auch den R-Quadrat-Wert für ein weiteres Modell berechnen.
Der R-Quadrat-Wert ist niedriger, da das Modell die Daten ein wenig unteranpasst.
R-Quadrat in Python
Die sm.OLS
Klasse berechnet den R-Quadrat-Wert für uns. Wir können ihn in der summary()
Tabelle hier finden.
Zusammenfassend ist R-Quadrat eine Metrik für eine Regression. Es kann Werte von 0 bis 1 annehmen. Im Gegensatz zu anderen Metriken wie MSE/MAE ist ein höherer Wert besser (es sei denn, das Modell überanpasst). Sie können das R-Quadrat in der summary()
-Tabelle der sm.OLS
-Klasse finden.
Danke für Ihr Feedback!