PCA i tidymodels
Ur ett modellbyggnadsperspektiv gör PCA det möjligt att skapa modeller med färre särdrag, men som ändå fångar det mesta av informationen i ursprungsdata. Som du har sett är en nackdel med PCA att modellen kan vara svår att tolka. I den här övningen bygger du en linjär regressionsmodell med hjälp av en delmängd av husförsäljningsdata. Målvariabeln är price.
En modell som byggs direkt från datan utan att extrahera principalkomponenter har ett RMSE på $236 461,4. Du ska tillämpa PCA med tidymodels och jämföra det nya RMSE-värdet. Kom ihåg att lägre RMSE är bättre.
Paketen tidyverse och tidymodels har redan laddats in åt dig.
Den här övningen är en del av kursen
Dimensionsreduktion i R
Övningsinstruktioner
- Bygg ett PCA-recept med
trainför att extrahera fem principalkomponenter. - Anpassa ett arbetsflöde med en standardspecifikation för
linear_reg()-modellen. - Skapa en dataram med testprediktioner med hjälp av
test, som innehåller de faktiska och de predikterade värdena. - Beräkna RMSE för den linjära regressionsmodellen med PCA-reducerade data.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)