Seleção de features vs. extração de features

Redução de Dimensionalidade em R

Matt Pickard

Owner, Pickard Predictives, LLC

Abordagens para reduzir dimensionalidade

Horta de vegetais

  • Seleção de features é como arrancar ervas daninhas
  • Extração de features é como fazer uma salada
1 Fonte da imagem: Daderot, CC0, via Wikimedia Commons
Redução de Dimensionalidade em R

Seleção de features

Um conjunto de seis features com cores distintas

Redução de Dimensionalidade em R

Seleção de features

Um conjunto de seis features com as de baixa informação sendo filtradas

Redução de Dimensionalidade em R

Seleção de features

Um conjunto filtrado de quatro features

Redução de Dimensionalidade em R

Exemplo de dados de crédito

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
Redução de Dimensionalidade em R

Criar um filtro de variância zero

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"
Redução de Dimensionalidade em R

Criar filtro de valores ausentes

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"
Redução de Dimensionalidade em R

Aplicando o filtro combinado

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
Redução de Dimensionalidade em R

Extração de features

Um conjunto de seis features com cores distintas

Redução de Dimensionalidade em R

Extração de features

Algumas features combinadas para formar quatro features

Redução de Dimensionalidade em R

Extração de features e informação mútua

Diagrama de Venn com interseção

Redução de Dimensionalidade em R

Extração de features: combinando info mutuamente exclusiva

Features combinadas incluindo informação mútua e informação mutuamente exclusiva

Redução de Dimensionalidade em R

Extração de features: combinando info mutuamente exclusiva

Features combinadas com a informação mútua removida

Redução de Dimensionalidade em R

Vantagens e desvantagens da extração de features

Vantagens
  • pode combinar informações em novas features
Desvantagens
  • implementação é mais complexa
  • novas features são difíceis de interpretar

Análise de componentes principais de IMC, altura e peso

Redução de Dimensionalidade em R

Vamos praticar!

Redução de Dimensionalidade em R

Preparing Video For Download...