Crea una recipe a bassa varianza
I pacchetti tidymodels offrono un modo migliore per filtrare le feature con varianza nulla o quasi nulla, rispettivamente con le funzioni step_zv() e step_nzv(). Questi step della recipe individuano le feature a bassa varianza esaminando il numero di valori unici e il rapporto tra la frequenza dei valori più comuni in ciascuna feature. Questo approccio è più robusto rispetto al semplice cutoff di varianza usato in precedenza.
Inoltre, userai lo step step_scale() della recipe per normalizzare la varianza delle feature. Ricorda: è sempre una buona pratica normalizzare i dati per rendere confrontabili le varianze tra le feature.
Hai a disposizione house_sales_df. La variabile target è price. I pacchetti tidyverse e tidymodels sono già stati caricati per te.
Questo esercizio fa parte del corso
Riduzione della dimensionalità in R
Istruzioni dell'esercizio
- Definisci una recipe per un filtro a bassa varianza e preparala usando
house_sales_df. - Applica la recipe a
house_sales_dfe salva i dati filtrati infiltered_house_sales_df. - Mostra le feature che la recipe ha filtrato nello step
step_nzv().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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 = ___)