特徴選択 vs. 特徴抽出

Rによる次元削減

Matt Pickard

Owner, Pickard Predictives, LLC

次元削減のアプローチ

菜園

  • 特徴選択 は雑草を抜くような作業
  • 特徴抽出 はサラダを作るような作業
1 画像出典: Daderot, CC0, Wikimedia Commons 経由
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...