ACP avec tidymodels
Du point de vue de la construction de modèles, l'ACP vous permet de créer des modèles avec moins de variables, tout en capturant la majeure partie de l'information des données d'origine. Toutefois, comme vous l'avez vu, un inconvénient de l'ACP est la difficulté d'interpréter le modèle. Dans cet exercice, vous vous concentrerez 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 extraction des composantes principales, a une RMSE de 236 461,4 $. Vous appliquerez l'ACP avec tidymodels et comparerez la nouvelle RMSE. Rappelez-vous : plus la RMSE est faible, mieux c'est.
Les ensembles tidyverse et tidymodels ont été chargés pour vous.
Cette activité fait partie du cours
Réduction de dimension en R
Instructions de l’exercice
- Créez une recette d'ACP à partir de
trainpour extraire cinq composantes principales. - Ajustez un enchaînement (workflow) avec une spécification de modèle
linear_reg()par défaut. - Créez une trame de données de prédiction pour l'ensemble
testqui contient les valeurs réelles et prédites. - Calculez la RMSE pour le modèle de régression linéaire réduit par l'ACP.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)