특성 선택 vs. 특성 추출

R에서의 차원 축소

Matt Pickard

Owner, Pickard Predictives, LLC

차원 축소 접근법

채소 정원

  • 특성 선택은 잡초 뽑기와 유사
  • 특성 추출은 샐러드 만들기와 유사
1 이미지 출처: Daderot, CC0, 위키미디어 공용
R에서의 차원 축소

특성 선택

색상으로 구분된 6개 특성 집합

R에서의 차원 축소

특성 선택

정보가 낮은 특성을 필터링한 6개 특성 집합

R에서의 차원 축소

특성 선택

필터링된 4개 특성 세트

R에서의 차원 축소

신용 데이터 예시

credit_df %>% head(n=5)
  annual_income num_bank_accounts num_credit_card outstanding_debt credit_history_months
          <dbl>             <dbl>           <dbl>            <dbl>                 <dbl>
1        87630.                 2               5             526.                   286
2        16574.                 2               5              NA                    122
3        24931.                 2               5              NA                    351
4       136680.                 2               5              NA                    216
5        76850.                 2               5            1112.                   272
R에서의 차원 축소

영분산 필터 생성

na_filter <- credit_df %>% 
  summarize(across(everything(), ~ var(., na.rm = TRUE))) %>%

pivot_longer(everything(), names_to = "feature", values_to = "variance") %>%
filter(variance == 0) %>%
pull(feature)
na_filter
"num_bank_accounts" "num_credit_card"
R에서의 차원 축소

결측값 필터 생성

na_filter <- credit_df %>%  
  summarize(across(everything(), ~ sum(is.na(.)))) %>%

pivot_longer(everything(), names_to = "feature", values_to = "num_missing_values") %>%
filter(num_missing_values > 0) %>%
pull(feature)
na_filter
"outstanding_debt"
R에서의 차원 축소

결합 필터 적용

combined_filter <- 
  c(low_var_filter, na_filter)

credit_df %>% 
  select(-all_of(combined_filter)) %>% 
  head(3)
  annual_income credit_history_months
          <dbl>                 <dbl>
1        87630.                   286
2        16574.                   122
3        24931.                   351
R에서의 차원 축소

특성 추출

색상으로 구분된 6개 특성 집합

R에서의 차원 축소

특성 추출

일부 특성을 결합해 4개 특성으로 축소

R에서의 차원 축소

특성 추출과 상호정보량

교집합이 있는 벤 다이어그램

R에서의 차원 축소

특성 추출: 상호배타 정보 결합

상호정보와 상호배타 정보를 포함해 결합된 특성

R에서의 차원 축소

특성 추출: 상호배타 정보 결합

상호정보를 제거하고 결합된 특성

R에서의 차원 축소

특성 추출의 장단점

장점
  • 정보를 새 특성으로 결합 가능
단점
  • 구현이 더 복잡함
  • 새 특성 해석이 어려움

BMI, 키, 체중의 주성분분석

R에서의 차원 축소

연습해 봅시다!

R에서의 차원 축소

Preparing Video For Download...