Mantenere i dati mancanti
In alcune situazioni, il fatto che un input sia mancante è di per sé un’informazione importante. Gli NA possono essere mantenuti in un’apposita categoria "missing" usando la coarse classification.
La coarse classification ti permette di semplificare i dati e migliorare l’interpretabilità del modello. Richiede di suddividere le risposte in gruppi che contengono intervalli di valori. Puoi usare questa tecnica di binning per collocare tutti gli NA in un loro bin dedicato.
Nel video, abbiamo illustrato l’idea di coarse classification per la durata dell’impiego. Il codice di quell’esempio è stato riprodotto nello script R a destra e può essere adattato per applicare la coarse classification alla variabile int_rate.
Questo esercizio fa parte del corso
Credit Risk Modeling in R
Istruzioni dell'esercizio
- Apporta le modifiche necessarie al codice fornito per applicare la coarse classification a
int_rate, salvando il risultato in una nuova variabile chiamatair_cat.- Per prima cosa, sostituisci
loan_data$emp_catconloan_data$ir_catdove compare nello script R e sostituisci ancheloan_data$emp_lengthconloan_data$int_rate. - Poi, le variabili devono essere raggruppate nelle categorie
"0-8","8-11","11-13.5"e"13.5+"(in sostituzione di"0-15","15-30","30-45"e"45+"). L’uso di>e<=è esattamente come nel video. Ricordati di cambiare anche i numeri nelle istruzioni condizionali (15, 30 e 45 vanno cambiati rispettivamente in 8, 11 e 13.5).
- Per prima cosa, sostituisci
- Osserva la nuova variabile
ir_catusandoplot(loan_data$ir_cat).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Make the necessary replacements in the coarse classification example below
loan_data$emp_cat <- rep(NA, length(loan_data$emp_length))
loan_data$emp_cat[which(loan_data$emp_length <= 15)] <- "0-15"
loan_data$emp_cat[which(loan_data$emp_length > 15 & loan_data$emp_length <= 30)] <- "15-30"
loan_data$emp_cat[which(loan_data$emp_length > 30 & loan_data$emp_length <= 45)] <- "30-45"
loan_data$emp_cat[which(loan_data$emp_length > 45)] <- "45+"
loan_data$emp_cat[which(is.na(loan_data$emp_length))] <- "Missing"
loan_data$emp_cat <- as.factor(loan_data$emp_cat)
# Look at your new variable using plot()