開始使用免費開始

建立低變異數的 recipe

tidymodels 套件提供了更好的方式,能分別用 step_zv()step_nzv() 來篩掉零變異與近零變異的特徵。這些 recipe 步驟會檢查每個特徵的唯一值數量,以及最常見值出現頻率的比例,來辨識低變異的特徵。相較於我們先前用的簡單變異數門檻,這個方法更穩健。

此外,你會使用 step_scale() 這個 recipe 步驟來正規化各特徵的變異數。記住,為了讓不同特徵的變異數可比較,先把資料做正規化通常是好做法。

house_sales_df 已可供你使用,目標變數是 pricetidyversetidymodels 套件也都已經為你載入。

本練習屬於課程

R 的降維

檢視課程

練習說明

  • 定義一個用於低變異篩選的 recipe,並使用 house_sales_df 進行準備(prepare)。
  • 將該 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 = ___)
編輯並執行程式碼