Skapa ett recept för låg varians
Paketet tidymodels erbjuder ett bättre sätt att filtrera särdrag med noll- eller nära-noll-varians med funktionerna step_zv() respektive step_nzv(). Dessa receptsteg identifierar särdrag med låg varians genom att undersöka antalet unika värden och kvoten mellan frekvensen av de vanligaste värdena i varje särdrag. Det här tillvägagångssättet är mer robust än den enkla varianströskel vi använde tidigare.
Du kommer även att använda receptsteget step_scale() för att normalisera särdragsvariansen. Det är alltid en bra idé att normalisera data så att varianserna mellan särdrag blir jämförbara.
house_sales_df finns tillgänglig för dig att använda. Målvariabeln är price. Paketen tidyverse och tidymodels har också laddats in.
Den här övningen är en del av kursen
Dimensionsreduktion i R
Övningsinstruktioner
- Definiera ett recept för ett lågvariansfilter och förbered det med
house_sales_df. - Applicera receptet på
house_sales_dfoch lagra den filtrerade datan ifiltered_house_sales_df. - Visa de särdrag som receptet filtrerade bort i steget
step_nzv().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 = ___)