R-squared ($R^2$)

Övervakad inlärning i R: Regression

Nina Zumel and John Mount

Win-Vector LLC

Vad är $R^2$?

Ett mått på hur väl modellen passar eller förklarar data

  • Ett värde mellan 0–1
    • nära 1: modellen passar bra
    • nära 0: inte bättre än att gissa medelvärdet
Övervakad inlärning i R: Regression

Beräkna $R^2$

$R^2$ är variansen som förklaras av modellen.

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

där

  • $RSS = \sum{(y - prediction)^2}$
    • Residualkvadratsumma (varians från modellen)
  • $SS_{Tot} = \sum{(y - \overline{y})^2}$
    • Total kvadratsumma (datans varians)
Övervakad inlärning i R: Regression

Beräkna $R^2$ för boprismodellen: RSS

  • Beräkna felet
err <- houseprices$prediction - houseprices$price
  • Kvadrera och summera
rss <- sum(err^2)
  • price: kolumn med faktiska försäljningspriser (i tusental)
  • pred: kolumn med förutsagda försäljningspriser (i tusental)
  • $RSS \approx$ 136138
Övervakad inlärning i R: Regression

Beräkna $R^2$ för boprismodellen: $SS_{Tot}$

  • Beräkna skillnaden mellan pris och medelpris
toterr <- houseprices$price - mean(houseprices$price)
  • Kvadrera och summera
sstot <- sum(toterr^2)
  • $RSS \approx$ 136138
  • $SS_{Tot} \approx$ 713615
Övervakad inlärning i R: Regression

Beräkna $R^2$ för boprismodellen

(r_squared <- 1 - (rss/sstot) )
0.8092278
  • $RSS \approx$ 136138
  • $SS_{Tot} \approx$ 713615
  • $R^2 \approx$ 0,809
Övervakad inlärning i R: Regression

Läsa $R^2$ från lm()-modellen

# 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
Övervakad inlärning i R: Regression

Korrelation och $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$
Övervakad inlärning i R: Regression

Korrelation och $R^2$

  • Gäller för modeller som minimerar kvadratfelet:
    • Linjär regression
    • GAM-regression
    • Trädbaserade algoritmer som minimerar kvadratfelet
  • Gäller för träningsdata; INTE för framtida tillämpningsdata
Övervakad inlärning i R: Regression

Nu kör vi en övning!

Övervakad inlärning i R: Regression

Preparing Video For Download...