PCA in tidymodels
Vanuit modelbouwperspectief kun je met PCA modellen maken met minder features, terwijl je toch het grootste deel van de informatie uit de oorspronkelijke data behoudt. Zoals je hebt gezien, is een nadeel van PCA dat het model lastiger te interpreteren is. In deze oefening bouw je een lineair regressiemodel met een subset van de gegevens over woningverkopen. De doelvariabele is price.
Een model dat direct is gebouwd op de data zonder hoofdcomponenten te extraheren heeft een RMSE van $236,461.4. Je past PCA toe met tidymodels en vergelijkt de nieuwe RMSE. Onthoud: een lagere RMSE is beter.
De pakketten tidyverse en tidymodels zijn al voor je geladen.
Deze oefening maakt deel uit van de cursus
Dimensionality Reduction in R
Oefeninstructies
- Bouw een PCA-recept op basis van
trainom vijf hoofdcomponenten te extraheren. - Fit een workflow met een standaard
linear_reg()-modelspecificatie. - Maak een testvoorspellingsdataframe op basis van
testmet zowel de werkelijke als de voorspelde waarden. - Bereken de RMSE voor het PCA-gereduceerde lineaire regressiemodel.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)