PCA avec tidymodels
Du point de vue de la construction de modèles, la PCA permet de créer des modèles avec moins de variables tout en capturant la plupart des informations des données d’origine. Cependant, comme vous l’avez vu, un inconvénient de la PCA est la difficulté d’interpréter le modèle. Dans cet exercice, vous allez vous concentrer sur la construction d’un modèle de régression linéaire à partir d’un sous-ensemble des données de ventes de maisons. La variable cible est price.
Un modèle construit directement à partir des données sans extraire de composantes principales a une RMSE de $236,461.4. Vous appliquerez la PCA avec tidymodels et comparerez la nouvelle RMSE. Rappelez-vous : plus la RMSE est faible, mieux c’est.
Les packages tidyverse et tidymodels ont été chargés pour vous.
Cet exercice fait partie du cours
Réduction de dimension en R
Instructions
- Créez une recette PCA à partir de
trainpour extraire cinq composantes principales. - Ajustez un workflow avec une spécification de modèle
linear_reg()par défaut. - Créez un data frame de prédictions de test à partir de
testqui contient les valeurs réelles et prédites. - Calculez la RMSE pour le modèle de régression linéaire réduit par PCA.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Build a PCA recipe
pca_recipe <- ___(___ ~ ___ , data = ___) %>%
___(___()) %>%
___(___(), num_comp = ___)
# Fit a workflow with a default linear_reg() model spec
house_sales_fit <- ___(preprocessor = ___, spec = ___()) %>%
___(___)
# Create prediction df for the test set
house_sales_pred_df <- ___(___, test) %>%
___(test %>% select(___))
# Calculate the RMSE
___(house_sales_pred_df, ___, .pred)