降维在数据与建模中的重要性

R 中的降维

Matt Pickard

Owner, Pickard Predictives, LLC

维度灾难

  • 维度小幅增加,所需数据量呈指数增长
    • 数据稀疏性 → 偏差与过拟合

含性别与退伍军人状态的表格

R 中的降维

维度灾难

  • 处理高维数据的问题
  • 维度小幅增加,所需数据量呈指数增长
    • 数据稀疏性 → 偏差与过拟合

含性别与退伍军人状态的表格

R 中的降维

维度灾难

添加血型变量的表格

R 中的降维

维度灾难

添加血型变量的表格

R 中的降维

稀疏性

所有变量取值的组合

R 中的降维

稀疏性

所有变量取值的组合,与真实数据集对比

R 中的降维

稀疏性

真实样本未覆盖所有组合

R 中的降维

稀疏性:训练集与测试集

训练集和测试集都需至少覆盖全部十六个观测值

R 中的降维

稀疏性:训练集与测试集

训练集和测试集都需至少覆盖全部十六个观测值

R 中的降维

稀疏性:训练集与测试集

训练集和测试集都需将十六个观测各表示四次

R 中的降维

稀疏性:训练集与测试集

训练集和测试集都需将十六个观测各表示四次

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

注意: 这只是每种组合各出现一次所需的数量!

R 中的降维

每种组合的多次表示

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

Ayo berlatih!

R 中的降维

Preparing Video For Download...