ÎncepețiÎncepe gratuit

Calculează R-squared

Acum că ai calculat RMSE-ul predicțiilor modelului, vei analiza cât de bine se potrivește modelul cu datele – cu alte cuvinte, cât de multă varianță explică acesta. Poți face acest lucru folosind \(R^2\).

Presupunem că \(y\) este rezultatul real, \(p\) este predicția modelului, iar \(res = y - p\) sunt reziduurile predicțiilor.

Atunci suma totală a pătratelor \(tss\) („varianța totală") a datelor este:

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

unde \(\overline{y}\) este valoarea medie a lui \(y\).

Suma reziduurilor la pătrat ale modelului, \(rss\), este: $$ rss = \sum{res^2} $$

\(R^2\) (R-squared), adică „varianța explicată" de model, se calculează astfel:

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

După ce calculezi \(R^2\), vei compara rezultatul obținut cu valoarea \(R^2\) raportată de glance() (docs). glance() returnează un data frame cu un singur rând; pentru un model de regresie liniară, una dintre coloanele returnate este \(R^2\) al modelului pe datele de antrenament.

Data frame-ul unemployment a fost încărcat pentru tine și conține coloanele predictions și residuals pe care le-ai calculat într-un exercițiu anterior. unemployment_model este, de asemenea, disponibil pentru utilizare.

Acest exercițiu face parte din cursul

Învățare supervizată în R: Regresia

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează media female_unemployment și atribuie rezultatul variabilei fe_mean.
  • Calculează suma totală a pătratelor și atribuie rezultatul variabilei tss.
  • Calculează suma reziduurilor la pătrat și atribuie rezultatul variabilei rss.
  • Calculează \(R^2\). Este un model bun (\(R^2\) aproape de 1)?
  • Folosește glance() pentru a obține \(R^2\) din model. Este același cu valoarea pe care ai calculat-o?

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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 <- ___(___)$___)
Editează și rulează codul