Vytvoř recept pro filtrování nízkého rozptylu
Balíček tidymodels nabízí elegantnější způsob, jak odfiltrovat příznaky s nulovým nebo téměř nulovým rozptylem – pomocí funkcí step_zv() a step_nzv(). Tyto kroky receptu identifikují příznaky s nízkým rozptylem na základě počtu unikátních hodnot a poměru frekvence nejčastěji se vyskytujících hodnot v každém příznaku. Tento přístup je robustnější než jednoduché prahování rozptylu, které jsme použili dříve.
Navíc využiješ krok step_scale(), který normalizuje rozptyl příznaků. Normalizace dat je vždy dobrý nápad – zajistí, že rozptyly napříč příznaky budou vzájemně srovnatelné.
Dataset house_sales_df máš k dispozici. Cílová proměnná je price. Balíčky tidyverse a tidymodels jsou již načteny.
Toto cvičení je součástí kurzu
Redukce dimenzionality v R
Pokyny k cvičení
- Definuj recept pro filtrování nízkého rozptylu a připrav ho pomocí
house_sales_df. - Aplikuj recept na
house_sales_dfa výsledná filtrovaná data ulož dofiltered_house_sales_df. - Zobraz příznaky, které recept odfiltroval v kroku
step_nzv().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Prepare recipe
low_variance_recipe <- recipe(___ ~ ___, ___ = ___) %>%
step_zv(___) %>%
___(___) %>%
___(___) %>%
prep()
# Apply recipe
filtered_house_sales_df <- ___(___, new_data = ___)
# View list of features removed by the near-zero variance step
tidy(___, number = ___)