Tworzenie przepisu odrzucającego cechy o niskiej wariancji
Pakiet tidymodels oferuje wygodniejszy sposób filtrowania cech o zerowej i bliskiej zeru wariancji – za pomocą funkcji step_zv() i step_nzv(). Te kroki przepisu analizują liczbę unikalnych wartości oraz stosunek częstości najczęściej występujących wartości w każdej cesze. Takie podejście jest bardziej niezawodne niż proste odcięcie według wartości wariancji, którego używaliśmy wcześniej.
Dodatkowo skorzystasz z kroku step_scale(), aby unormować wariancję cech. Normalizacja danych to dobra praktyka – sprawia, że wariancje różnych cech stają się ze sobą porównywalne.
Do wykonania ćwiczenia możesz korzystać ze zbioru danych house_sales_df. Zmienną docelową jest price. Pakiety tidyverse i tidymodels zostały już wczytane.
To ćwiczenie jest częścią kursu
Redukcja wymiarowości w R
Instrukcje do ćwiczenia
- Zdefiniuj przepis z filtrem niskiej wariancji i przygotuj go na podstawie
house_sales_df. - Zastosuj przepis do
house_sales_dfi zapisz przefiltrowane dane w zmiennejfiltered_house_sales_df. - Wyświetl cechy odfiltrowane przez przepis w kroku
step_nzv().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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 = ___)