ComeçarComece de graça

Calcular o R-quadrado

Agora que você calculou o RMSE das previsões do seu modelo, vai analisar quão bem o modelo se ajusta aos dados: isto é, quanta variância ele explica. Você pode fazer isso usando \(R^2\).

Suponha que \(y\) seja o valor real, \(p\) seja a previsão do modelo e \(res = y - p\) sejam os resíduos das previsões.

Então a soma total dos quadrados \(tss\) ("variância total") dos dados é:

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

onde \(\overline{y}\) é o valor médio de \(y\).

A soma residual dos erros ao quadrado do modelo, \(rss\), é: $$ rss = \sum{res^2} $$

\(R^2\) (R-quadrado), a "variância explicada" pelo modelo, é então:

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

Depois de calcular o \(R^2\), você vai comparar o que calculou com o \(R^2\) reportado por glance() (docs). glance() retorna um data frame de uma linha; para um modelo de regressão linear, uma das colunas retornadas é o \(R^2\) do modelo nos dados de treinamento.

O data frame unemployment já foi carregado para você e contém as colunas predictions e residuals que você calculou em um exercício anterior. O unemployment_model também está disponível para você usar.

Este exercício faz parte do curso

Aprendizado Supervisionado em R: Regressão

Ver curso

Instruções do exercício

  • Calcule a média de female_unemployment e atribua à variável fe_mean.
  • Calcule a soma total dos quadrados e atribua à variável tss.
  • Calcule a soma residual dos quadrados e atribua à variável rss.
  • Calcule o \(R^2\). É um bom ajuste (\(R^2\) próximo de 1)?
  • Use glance() para obter o \(R^2\) do modelo. É igual ao que você calculou?

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 <- ___(___)$___)
Editar e executar o código