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
Instrucțiuni pentru exercițiu
- Calculează media
female_unemploymentși atribuie rezultatul variabileife_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 <- ___(___)$___)