LoslegenKostenlos loslegen

Erstelle ein Low-Variance-Recipe

Die tidymodels-Pakete bieten mit den Funktionen step_zv() und step_nzv() eine bessere Möglichkeit, Features mit keiner bzw. nahezu keiner Varianz zu filtern. Diese Recipe-Schritte erkennen Low-Variance-Features, indem sie die Anzahl der eindeutigen Werte und das Verhältnis der Häufigkeit der häufigsten Werte in jedem Feature untersuchen. Dieser Ansatz ist robuster als der einfache Varianzschwellenwert, den wir zuvor verwendet haben.

Außerdem wirst du den Recipe-Schritt step_scale() verwenden, um die Varianz der Features zu normalisieren. Denk daran: Es ist immer sinnvoll, die Daten zu normalisieren, damit die Varianzen über alle Features hinweg vergleichbar sind.

Der Datensatz house_sales_df steht dir zur Verfügung. Die Zielvariable ist price. Die Pakete tidyverse und tidymodels sind bereits für dich geladen.

Diese Übung ist Teil des Kurses

Dimensionsreduktion in R

Kurs anzeigen

Anleitung zur Übung

  • Definiere ein Recipe für einen Low-Variance-Filter und bereite es mit house_sales_df vor.
  • Wende das Recipe auf house_sales_df an und speichere die gefilterten Daten in filtered_house_sales_df.
  • Zeige die Features an, die im Schritt step_nzv() vom Recipe gefiltert wurden.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen