Zachowywanie brakujących danych
W niektórych sytuacjach sam fakt, że dana wartość jest niedostępna, stanowi istotną informację. Wartości NA można zachować w osobnej kategorii „brakujące" za pomocą klasyfikacji grubej (ang. coarse classification).
Klasyfikacja gruba pozwala uprościć dane i poprawić interpretowalność modelu. Polega ona na grupowaniu wartości w przedziały. Dzięki tej technice wszystkie wartości NA możesz umieścić we własnym przedziale.
W filmie pokazaliśmy ideę klasyfikacji grubej na przykładzie długości zatrudnienia. Kod z tego przykładu został odtworzony w skrypcie R po prawej stronie – możesz go dostosować, aby przeprowadzić klasyfikację grubą dla zmiennej int_rate.
To ćwiczenie jest częścią kursu
Modelowanie ryzyka kredytowego w R
Instrukcje do ćwiczenia
- Wprowadź niezbędne zmiany w podanym kodzie, aby przeprowadzić klasyfikację grubą zmiennej
int_ratei zapisz wynik do nowej zmiennej o nazwieir_cat.- Najpierw zastąp
loan_data$emp_catprzezloan_data$ir_catwszędzie, gdzie ta nazwa występuje w skrypcie R, aloan_data$emp_lengthzastąp przezloan_data$int_rate. - Następnie podziel wartości na kategorie
"0-8","8-11","11-13.5"i"13.5+"(zastępując"0-15","15-30","30-45"i"45+"). Operatory>i<=używaj dokładnie tak, jak w filmie. Pamiętaj, aby zmienić liczby w wyrażeniach warunkowych (15, 30 i 45 zastąp odpowiednio przez 8, 11 i 13,5).
- Najpierw zastąp
- Przyjrzyj się nowej zmiennej
ir_cat, wywołującplot(loan_data$ir_cat).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()