EmpezarEmpieza gratis

Calcular R-cuadrado

Ahora que has calculado el RMSE de las predicciones de tu modelo, vas a examinar qué tan bien ajusta el modelo a los datos: es decir, cuánta varianza explica. Puedes hacerlo usando \(R^2\).

Supón que \(y\) es el valor real, \(p\) es la predicción del modelo y \(res = y - p\) son los residuos de las predicciones.

Entonces, la suma total de cuadrados \(tss\) ("varianza total") de los datos es:

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

donde \(\overline{y}\) es el valor medio de \(y\).

La suma de cuadrados de los errores residuales del modelo, \(rss\), es: $$ rss = \sum{res^2} $$

\(R^2\) (R-cuadrado), la "varianza explicada" por el modelo, es:

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

Después de calcular \(R^2\), compararás lo que obtuviste con el \(R^2\) que informa glance() (docs). glance() devuelve un data frame de una fila; para un modelo de regresión lineal, una de las columnas devueltas es el \(R^2\) del modelo sobre los datos de entrenamiento.

El data frame unemployment ya está cargado y contiene las columnas predictions y residuals que calculaste en un ejercicio anterior. También tienes disponible unemployment_model para usarlo.

Este ejercicio forma parte del curso

Aprendizaje supervisado en R: Regresión

Ver curso

Instrucciones del ejercicio

  • Calcula la media de female_unemployment y asígnala a la variable fe_mean.
  • Calcula la suma total de cuadrados y asígnala a la variable tss.
  • Calcula la suma de cuadrados de los residuos y asígnala a la variable rss.
  • Calcula \(R^2\). ¿Es un buen ajuste (\(R^2\) cercano a 1)?
  • Usa glance() para obtener el \(R^2\) del modelo. ¿Es el mismo que calculaste?

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 y ejecutar código