Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Bouw een PCA-recept op basis van train om vijf hoofdcomponenten te extraheren.
  • Fit een workflow met een standaard linear_reg()-modelspecificatie.
  • Maak een testvoorspellingsdataframe op basis van test met 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)
Code bewerken en uitvoeren