Создание рецепта для удаления высококоррелированных признаков
Обнаружив сильно коррелирующие признаки, их можно удалять не вручную, а с помощью шага рецепта step_corr() из пакета tidymodels. При этом step_corr() не удаляет все коррелирующие признаки подряд — он стремится исключить как можно меньше признаков. Как вы видели в упражнении с выбором ответа, удаляется тот признак, который максимально перекрывается с какой-либо комбинацией других признаков. Логика здесь такая: остальные признаки уже содержат ту же информацию, поэтому удалённый признак по-прежнему представлен в наборе данных через них.
Пакеты tidyverse и tidymodels уже загружены для вас.
Это упражнение является частью курса
Снижение размерности в R
Инструкции к упражнению
- Создайте рецепт, который использует
step_corr()с порогом 0,7, применяя этот шаг только к числовым предикторам. - Примените рецепт к
house_sales_dfи сохраните отфильтрованные данные вfiltered_house_sales_df. - Используйте
tidy(), чтобы определить, какой столбец или столбцы были удалены фильтромstep_corr().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create a recipe using step_corr to remove numeric predictors correlated > 0.7
corr_recipe <-
___(price ~ ., data = ___) %>%
___(___, ___ = ___) %>%
___(___)
# Apply the recipe to the data
___ <-
___ %>%
___(new_data = ___)
# Identify the features that were removed
___(___, ___ = ___)