Bestimmtheitsmaß ($R^2$)

Überwachtes Lernen in R: Regression

Nina Zumel and John Mount

Win-Vector LLC

Was ist $R^2$?

Ein Maß dafür, wie gut das Modell die Daten abbildet oder erklärt

  • Ein Wert zwischen 0–1
    • nahe 1: Modell passt gut
    • nahe 0: nicht besser als der Durchschnittswert
Überwachtes Lernen in R: Regression

Berechnung von $R^2$

$R^2$ ist die vom Modell erklärte Varianz.

$$ R^2 = 1 - \frac{RSS}{SS_{Tot}} $$

wobei

  • $RSS = \sum{(y - prediction)^2}$
    • Residual Sum of Squares (Varianz aus dem Modell)
  • $SS_{Tot} = \sum{(y - \overline{y})^2}$
    • Total Sum of Squares (Varianz der Daten)
Überwachtes Lernen in R: Regression

$R^2$ für das Hauspreis-Modell berechnen: RSS

  • Fehler berechnen
err <- houseprices$prediction - houseprices$price
  • Quadrieren und aufsummieren
rss <- sum(err^2)
  • price: Spalte mit tatsächlichen Verkaufspreisen (in Tausend)
  • pred: Spalte mit vorhergesagten Verkaufspreisen (in Tausend)
  • $RSS \approx$ 136138
Überwachtes Lernen in R: Regression

$R^2$ für das Hauspreis-Modell berechnen: $SS_{Tot}$

  • Differenz der Preise vom Mittelwert bilden
toterr <- houseprices$price - mean(houseprices$price)
  • Quadrieren und aufsummieren
sstot <- sum(toterr^2)
  • $RSS \approx$ 136138
  • $SS_{Tot} \approx$ 713615
Überwachtes Lernen in R: Regression

$R^2$ für das Hauspreis-Modell berechnen

(r_squared <- 1 - (rss/sstot) )
0.8092278
  • $RSS \approx$ 136138
  • $SS_{Tot} \approx$ 713615
  • $R^2 \approx$ 0.809
Überwachtes Lernen in R: Regression

$R^2$ aus dem lm()-Modell auslesen

# From summary()
summary(hmodel)
...
Residual standard error: 60.66 on 37 degrees of freedom
Multiple R-squared:  0.8092, Adjusted R-squared:  0.7989 
F-statistic: 78.47 on 2 and 37 DF,  p-value: 4.893e-14
summary(hmodel)$r.squared
0.8092278
# From glance()
glance(hmodel)$r.squared
0.8092278
Überwachtes Lernen in R: Regression

Korrelation und $R^2$

rho <- cor(houseprices$prediction, houseprices$price)
0.8995709
rho^2
0.8092278
  • $\rho$ = cor(prediction, price) = 0.8995709
  • $\rho^2$ = 0.8092278 = $R^2$
Überwachtes Lernen in R: Regression

Korrelation und $R^2$

  • Gilt für Modelle, die den quadratischen Fehler minimieren:
    • Lineare Regression
    • GAM-Regression
    • Baumverfahren, die den quadratischen Fehler minimieren
  • Gilt für Trainingsdaten; NICHT für künftige Anwendungsdaten
Überwachtes Lernen in R: Regression

Lass uns üben!

Überwachtes Lernen in R: Regression

Preparing Video For Download...