Важность снижения размерности при работе с данными и построении моделей

Снижение размерности в 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

Давайте потренируемся!

Снижение размерности в R

Preparing Video For Download...