LoslegenKostenlos starten

Bestimme R-squared

Nachdem du den RMSE der Vorhersagen deines Modells berechnet hast, untersuchst du nun, wie gut das Modell zu den Daten passt – also wie viel Varianz es erklärt. Das kannst du mit \(R^2\) machen.

Angenommen, \(y\) ist das wahre Ergebnis, \(p\) die Vorhersage des Modells und \(res = y - p\) die Residuen der Vorhersagen.

Dann ist die totale Quadratsumme \(tss\) (‚Gesamtvarianz‘) der Daten:

$$ tss = \sum{(y - \overline{y})^2} $$

wobei \(\overline{y}\) der Mittelwert von \(y\) ist.

Die Residuen-Quadratsumme des Modells, \(rss\), ist: $$ rss = \sum{res^2} $$

\(R^2\) (R-squared), die vom Modell erklärte Varianz, ist dann:

$$ 1 - \frac{rss}{tss} $$

Nachdem du \(R^2\) berechnet hast, vergleichst du deinen Wert mit dem von glance() gemeldeten \(R^2\) (Docs). glance() gibt einen Data Frame mit einer Zeile zurück; für ein lineares Regressionsmodell enthält eine der Spalten das \(R^2\) des Modells auf den Trainingsdaten.

Der Data Frame unemployment wurde für dich geladen und enthält die Spalten predictions und residuals, die du in einer vorherigen Übung berechnet hast. Das unemployment_model steht dir ebenfalls zur Verfügung.

Diese Übung ist Teil des Kurses

<Kurs>Überwachtes Lernen in R: Regression</Kurs>
Kurs ansehen

Übungsanweisungen

  • Berechne den Mittelwert von female_unemployment und weise ihn der Variablen fe_mean zu.
  • Berechne die totale Quadratsumme und weise sie der Variablen tss zu.
  • Berechne die Residuen-Quadratsumme und weise sie der Variablen rss zu.
  • Berechne \(R^2\). Ist es ein guter Fit (\(R^2\) nahe 1)?
  • Verwende glance(), um das \(R^2\) aus dem Modell zu erhalten. Ist es dasselbe wie deine Berechnung?

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# unemployment is available
summary(unemployment)

# unemployment_model is available
summary(unemployment_model)

# Calculate and print the mean female_unemployment: fe_mean
(fe_mean <- ___)

# Calculate and print the total sum of squares: tss
(tss <- ___((___ - ___)^2))

# Calculate and print residual sum of squares: rss
(rss <- ___)

# Calculate and print the R-squared: rsq
(rsq <- ___)

# Get R-squared from glance and print it
(rsq_glance <- ___(___)$___)
Code bearbeiten und ausführen