降維在資料與模型建置中的重要性

R 的降維

Matt Pickard

Owner, Pickard Predictives, LLC

維度詛咒

  • 維度每小幅提升,所需資料量呈指數成長
    • 資料稀疏化 → 偏差與過度擬合

含性別與退伍軍人欄位的表格

R 的降維

維度詛咒

  • 高維資料帶來的問題
  • 維度每小幅提升,所需資料量呈指數成長
    • 資料稀疏化 → 偏差與過度擬合

含性別與退伍軍人欄位的表格

R 的降維

維度詛咒

加入血型變數的表格

R 的降維

維度詛咒

加入血型變數的表格

R 的降維

稀疏性

變數值的所有組合

R 的降維

稀疏性

所有變數組合與實際資料收集的對比

R 的降維

稀疏性

真實樣本未涵蓋所有組合

R 的降維

稀疏性:訓練與測試集

訓練與測試集都需至少涵蓋 16 筆觀測

R 的降維

稀疏性:訓練與測試集

訓練與測試集都需至少涵蓋 16 筆觀測

R 的降維

稀疏性:訓練與測試集

訓練與測試集都需將 16 筆觀測各重現 4 次

R 的降維

稀疏性:訓練與測試集

訓練與測試集都需將 16 筆觀測各重現 4 次

R 的降維

計算最少觀測數

blood_type_df <- 
  expand_grid(
    gender = c("Female", "Male"),
    veteran = c("Yes", "No"),
    bloodtype = c("A", "B", "AB", "O")
)
# A tibble: 16 × 3
   gender veteran bloodtype
   <chr>  <chr>   <chr>    
 1 Female Yes     A        
 2 Female Yes     B        
 3 Female Yes     AB       
 4 Female Yes     O        
 5 Female No      A        
 6 Female No      B        
 7 Female No      AB       
 8 Female No      O        
 9 Male   Yes     A              
   ...    ...     ...
R 的降維

計算最少觀測數

blood_type_df %>% 
  summarize(across(everything(), ~ length(unique(.)))) %>%

prod()
16

NOTE: 這是每個組合只出現一次所需的數量!

R 的降維

每個組合的多次呈現

blood_type_df %>% 
  summarize(across(everything(), ~ length(unique(.))) %>% 
  prod() * 4  
128
R 的降維

一起來練習吧!

R 的降維

Preparing Video For Download...