Отбор признаков на основе корреляции

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

Matt Pickard

Owner, Pickard Predictives, LLC

Построение графика корреляции

healthcare_df %>% 
  select(where(is.numeric)) %>%

correlate() %>%
shave() %>%
rplot(print_cor = TRUE) +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
Снижение размерности в R

График корреляции

График корреляции для данных об увольнениях в медицинской компании

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

Сила корреляции

График корреляции для данных об увольнениях с таблицей диапазонов силы корреляции

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

Фильтр по корреляции?

График корреляции для данных об увольнениях в медицинской компании

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

Фильтр по корреляции?

Диаграмма Венна для процента повышения зарплаты и рейтинга производительности — большая область пересечения (взаимная информация)

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

Фильтр по корреляции?

Диаграмма Венна для процента повышения зарплаты после удаления рейтинга производительности

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

Фильтр по корреляции?

Обе части диаграммы Венна удалены — показано, что была потеряна ценная информация

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

Рецепт с фильтром по корреляции

# create and prep the recipe
corr_recipe <-  
  recipe(Attrition ~ ., data = healthcare_df) %>%

step_corr(all_numeric_predictors(), threshold = 0.7) %>%
prep()
# Apply the recipe to the data filtered_healthcare_df <- corr_recipe %>% bake(new_data = NULL)
# Identify the features that were removed tidy(corr_recipe, number = 1)
Снижение размерности в R

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

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

Preparing Video For Download...