Hantera saknade värden
I vissa situationer är det viktigt information i sig att ett värde saknas. NA-värden kan hanteras genom att placeras i en separat kategori för "saknade" värden med hjälp av grov klassificering.
Grov klassificering gör det möjligt att förenkla dina data och förbättra tolkbarheten hos din modell. Tekniken innebär att du grupperar dina svar i intervall, så kallade bins. På så sätt kan du samla alla NA-värden i en egen bin.
I videon visade vi hur grov klassificering fungerar för anställningslängd. Den koden har reproducerats i R-skriptet till höger och kan anpassas för att grovt klassificera variabeln int_rate.
Den här övningen är en del av kursen
Kreditriskmodellering i R
Övningsinstruktioner
- Gör de nödvändiga ändringarna i koden för att grovt klassificera
int_rateoch spara resultatet i en ny variabel som heterir_cat.- Ersätt först
loan_data$emp_catmedloan_data$ir_catdär det förekommer i R-skriptet, och ersättloan_data$emp_lengthmedloan_data$int_rate. - Nästa steg är att dela in variabeln i kategorierna
"0-8","8-11","11-13.5"och"13.5+"(som ersätter"0-15","15-30","30-45"och"45+"). Användningen av>och<=är exakt som i videon. Glöm inte att ändra talen i villkorssatserna (15, 30 och 45 ska ersättas med 8, 11 respektive 13.5).
- Ersätt först
- Granska den nya variabeln
ir_catmedplot(loan_data$ir_cat).
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()