tidymodels 中的 PCA
从建模角度看,PCA 可以用更少的特征来构建模型,同时仍能捕获原始数据中的大部分信息。不过,正如您所见,PCA 的一个缺点是模型难以解释。本练习中,您将使用房屋销售数据的一个子集来构建线性回归模型。目标变量为 price。
未提取主成分、直接基于原始数据构建的模型,其 RMSE 为 $236,461.4。您将使用 tidymodels 应用 PCA,并比较新的 RMSE。请记住,RMSE 越低越好。
tidyverse 和 tidymodels 包已为您加载。
本练习是课程的一部分
R 中的降维
练习说明
- 使用
train构建一个 PCA recipe,提取 5 个主成分。 - 使用默认的
linear_reg()模型规范拟合一个 workflow。 - 使用
test创建一个测试预测数据框,包含实际值和预测值。 - 计算该 PCA 降维线性回归模型的 RMSE。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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)