PCA in tidymodels
Aus Sicht des Modellaufbaus ermöglicht dir PCA, Modelle mit weniger Merkmalen zu erstellen und dennoch den Großteil der Information aus den Originaldaten zu erfassen. Wie du gesehen hast, ist ein Nachteil von PCA jedoch die schwierige Interpretierbarkeit des Modells. In dieser Übung konzentrierst du dich darauf, ein lineares Regressionsmodell mit einem Teil des Hausverkaufs-Datensatzes zu erstellen. Die Zielvariable ist price.
Ein Modell, das direkt aus den Daten ohne Extraktion von Hauptkomponenten gebaut wurde, hat einen RMSE von $236,461.4. Du wendest PCA mit tidymodels an und vergleichst den neuen RMSE. Denk daran: Ein niedrigerer RMSE ist besser.
Die Pakete tidyverse und tidymodels sind bereits für dich geladen.
Diese Übung ist Teil des Kurses
Dimensionsreduktion in R
Anleitung zur Übung
- Erstelle ein PCA-Rezept mit
train, um fünf Hauptkomponenten zu extrahieren. - Fitte einen Workflow mit einer Standard-
linear_reg()-Modellspezifikation. - Erstelle einen Vorhersage-Data-Frame für den Test mit
test, der die Ist- und die vorhergesagten Werte enthält. - Berechne den RMSE für das PCA-reduzierte lineare Regressionsmodell.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)