Aan de slagGa gratis aan de slag

Maak een low-variance-recept

De tidymodels-pakketten bieden een betere manier om features met geen of bijna geen variantie te filteren met respectievelijk de functies step_zv() en step_nzv(). Deze receptstappen identificeren low-variance-features door te kijken naar het aantal unieke waarden en de verhouding van de frequentie van de meest voorkomende waarden in elke feature. Deze aanpak is robuuster dan de simpele variantiegrens die we eerder gebruikten.

Daarnaast gebruik je de receptstap step_scale() om de variantie van de features te normaliseren. Onthoud dat het altijd een goed idee is om de data te normaliseren zodat varianties over features heen vergelijkbaar zijn.

De house_sales_df is beschikbaar om te gebruiken. De doelvariabele is price. De pakketten tidyverse en tidymodels zijn ook alvast voor je geladen.

Deze oefening maakt deel uit van de cursus

Dimensionality Reduction in R

Cursus bekijken

Oefeninstructies

  • Definieer een recept voor een low-variance-filter en prepareer het met house_sales_df.
  • Pas het recept toe op house_sales_df en sla de gefilterde data op in filtered_house_sales_df.
  • Toon de features die het recept heeft gefilterd in de stap step_nzv().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 = ___)
Code bewerken en uitvoeren