Trucchi e consigli per kNN II: ordinare le variabili
Quando l'algoritmo k-Nearest Neighbors scorre le variabili dei dati per imputarle, calcola le distanze tra osservazioni usando le altre variabili, alcune delle quali sono già state imputate nei passaggi precedenti. Questo significa che, se le variabili posizionate prima nei dati hanno molti valori mancanti, il calcolo delle distanze successivo si basa su molti valori imputati. Questo introduce rumore nel calcolo delle distanze.
Per questo motivo, è una buona pratica ordinare le variabili in modo crescente in base al numero di valori mancanti prima di eseguire l'imputazione kNN. In questo modo, ogni calcolo della distanza si basa sul maggior numero possibile di dati osservati e sul minor numero possibile di dati imputati.
Mettiamolo in pratica sui dati tao!
Questo esercizio fa parte del corso
Gestione dei dati mancanti con imputazioni in R
Istruzioni dell'esercizio
- Calcola il numero di valori mancanti in ogni colonna di
taonella prima parte della pipeline. - Poi ordina le variabili in modo crescente in base al numero di valori mancanti, estrai i loro nomi e assegna il risultato a
vars_by_NAs. - Usa
select()per riordinare le variabili ditaousando l'ordine salvato invars_by_NAs. - Esegui l'imputazione k-Nearest Neighbors sui dati riordinati e assegna il risultato a
tao_imp.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Get tao variable names sorted by number of NAs
vars_by_NAs <- tao %>%
___ %>%
colSums() %>%
sort(decreasing = ___) %>%
names()
# Sort tao variables and feed it to kNN imputation
tao_imp <- tao %>%
select(___) %>%
___()
tao_imp %>%
select(sea_surface_temp, humidity, humidity_imp) %>%
marginplot(delimiter = "imp")