保留遺漏資料
在某些情況下,輸入值「缺失」本身就是重要資訊。你可以用粗分類把 NA 保留在一個獨立的「missing」類別中。
粗分類能幫助你簡化資料,並提升模型的可解釋性。粗分類需要把數值依範圍分箱成數個群組。你可以利用這種分箱技巧,將所有的 NA 放進它們自己的分箱裡。
在影片中,我們用任職年資來示範粗分類的概念。右側的 R 指令碼已重現該範例的程式碼,你可以依此改寫,將變數 int_rate 進行粗分類。
本練習屬於課程
R 的信用風險建模
練習說明
- 依照提供的程式碼進行必要修改,將
int_rate做粗分類,並把結果存到新的變數ir_cat。- 先在 R 指令碼中把所有的
loan_data$emp_cat改成loan_data$ir_cat,同時把loan_data$emp_length改成loan_data$int_rate。 - 接著,請將變數分箱為
"0-8"、"8-11"、"11-13.5"和"13.5+"這些類別(取代原本的"0-15"、"15-30"、"30-45"和"45+")。>與<=的使用方式與影片完全相同。記得也要把條件判斷中的數字同步修改(15、30、45 分別改為 8、11、13.5)。
- 先在 R 指令碼中把所有的
- 使用
plot(loan_data$ir_cat)檢視你新的變數ir_cat。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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()