保留缺失数据
在某些情况下,输入是否缺失本身就是重要信息。使用粗分类时,可以将 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()