开始使用免费开始使用

计算树的增益

在视频中,您已经了解了如何使用 Gini 指标为一棵树找到理想的划分。现在,您将为工作空间中加载的这棵树计算增益。

该数据集包含 500 个样本,其中 89 个为违约。这使得根节点的 Gini 为 0.292632。作为小提示,请记住:某个节点的 Gini = 2 × 该节点中违约占比 × 该节点中非违约占比。可以参考下面的代码复习一下。

gini_root <- 2 * (89 / 500) * (411 / 500)

您将使用这些 Gini 指标来帮助计算相对于根节点的叶节点增益。参考以下代码,了解如何使用已计算的 Gini 来求某个节点的增益。

Gain = gini_root - (prop(cases left leaf) * gini_left) - (prop(cases right leaf * gini_right))

请计算左叶节点与右叶节点的 Gini,以及两个叶节点相对于根节点的增益。包含该树的对象是 small_tree

本练习是课程的一部分

R 中的信用风险建模

查看课程

练习说明

  • 已给出根节点 Gini 的计算方式。
  • 计算左叶节点的 Gini 指标。
  • 计算右叶节点的 Gini 指标。
  • 通过用根节点 Gini 减去加权后的叶节点 Gini,计算增益。
  • 关于此树划分的信息可以通过树对象 small_tree$split 获取。在这里,您应当查看 improve 列。improve 是增益的另一种度量方式,即将增益乘以数据集中的样本数得到。请确保对象 improve(代码已给出)的取值与 small_tree$split 中一致。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# The Gini-measure of the root node is given below
gini_root <- 2 * 89 / 500 * 411 / 500

# Compute the Gini measure for the left leaf node
gini_ll <-

# Compute the Gini measure for the right leaf node
gini_rl <-

# Compute the gain
gain <- gini_root - 446 / 500 * gini_ll - 54 / 500 * gini_rl

# compare the improve-column in small_tree$splits with our computed gain, multiplied by 500, and assure they are the same
small_tree$splits
improve <- gain * 500
编辑并运行代码