创建低方差的 recipe
tidymodels 套件提供了更好的方式来筛除零方差与近零方差特征,分别使用 step_zv() 和 step_nzv() 函数。这些 recipe 步骤通过检查每个特征的唯一值个数,以及最常见取值的频率比例,来识别低方差特征。相比之前使用简单的方差阈值,这种方法更稳健。
此外,您将使用 step_scale() 这个 recipe 步骤来标准化各特征的方差。请记住,规范化数据通常是个好主意,有助于让不同特征之间的方差可比。
house_sales_df 数据集已为您准备好,目标变量为 price。tidyverse 和 tidymodels 包也已加载。
本练习是课程的一部分
R 中的降维
练习说明
- 定义一个用于低方差筛选的 recipe,并使用
house_sales_df对其进行准备。 - 将该 recipe 应用于
house_sales_df,并将筛选后的数据存入filtered_house_sales_df。 - 显示在
step_nzv()步骤中被筛除的特征。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Prepare recipe
low_variance_recipe <- recipe(___ ~ ___, ___ = ___) %>%
step_zv(___) %>%
___(___) %>%
___(___) %>%
prep()
# Apply recipe
filtered_house_sales_df <- ___(___, new_data = ___)
# View list of features removed by the near-zero variance step
tidy(___, number = ___)