对训练集进行欠采样
在视频中,您看到为了解决类别不平衡问题,可以使用欠采样或过采样。我们已为您对训练集进行了欠采样,使其中 1/3 为违约样本,2/3 为非违约样本。处理后的数据集已放在您的工作空间中,名为 undersampled_training_set,样本量更少(6570,而非 19394)。本练习中,您将使用该欠采样数据集来构建一棵决策树。
您会注意到本题和下一题里生成的树都非常大,大到几乎无法读清。现在先不用担心这个问题,我们会在下一个视频中讲解如何让它们更易于管理!
本练习是课程的一部分
R 中的信用风险建模
练习说明
- rpart 包已为您安装。请在工作空间中加载该包。
- 修改提供的代码,使其使用欠采样后的训练集来构建决策树,替代原来的
training_set。另外,添加参数control = rpart.control(cp = 0.001)。其中cp(复杂度参数)是对任一划分导致整体不拟合度下降的阈值。如果未达到cp,将不再继续进一步划分。cp的默认值是 0.01,但对于复杂问题,建议放宽cp。 - 使用 plot 函数配合树对象名称绘制决策树。添加第二个参数
uniform = TRUE,以获得等长的分支。 - 上一条命令只会绘制带有节点和边的树,但没有任何文字(即所谓的"标签")。请使用
text()函数,并仅传入参数tree_undersample,为图形添加标签。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Load package rpart in your workspace.
# Change the code provided in the video such that a decision tree is constructed using the undersampled training set. Include rpart.control to relax the complexity parameter to 0.001.
tree_undersample <- rpart(loan_status ~ ., method = "class",
data = training_set)
# Plot the decision tree
# Add labels to the decision tree