决策树

决策森林模型由决策树组成。决策森林 学习算法(如随机森林)至少在一定程度上依赖于 和决策树的学习过程。

在本课程的这一部分中,您将学习一个小型示例数据集,并学习 单个决策树的训练方式。在接下来的部分中,您将了解 结合使用决策树来训练决策森林。

YDF 代码

在 YDF 中,使用 CART 学习器训练单个决策树模型:

# https://ydf.readthedocs.io/en/latest/py_api/CartLearner
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)

模型

决策树是由一系列“问题”组成的模型,有条理 和树状结构一样分层这些问题通常称为 conditionsplittest.我们将使用“使用情况”一词在 这一类。每个非叶节点都包含一个条件,每个叶节点都包含 进行预测。

植物树通常有根在下部;然而,决策 树通常用顶部的(第一个节点)表示。

包含两个条件和三叶的决策树。第一个
条件(根)为 num_legs >= 3;第二个条件是
num_eyes >= 3。三片叶子是企鹅、蜘蛛
和狗。

<ph type="x-smartling-placeholder"></ph> 图 1.一个简单的分类决策树。绿色的图例不属于 决策树。

 

决策树模型的推理是通过从 根据 条件。所到达叶子的值是决策树的预测。 所访问的节点集称为推理路径。例如: 请考虑以下特征值:

num_legs num_eyes
4 2

预测结果将为 dog。推理路径将为:

  1. num_legs ≥ 3 → 是
  2. num_eyes ≥ 3 → 否

与图 1 相同,但此图显示了
  涉及两种条件的推理路径,狗的叶结束于叶子。

<ph type="x-smartling-placeholder"></ph> 图 2.在本例中,以叶 *dog* 为高潮的推理路径 *{num_legs : 4, num_eyes : 2}*。

 

在前面的示例中,决策树的叶包含分类 预测;也就是说,每一片叶片都包含一个 可能的品种。

同样,决策树可以通过为叶子标记 回归预测(数值)。例如,下面的决策 可预测动物的可爱程度得分在 0 到 10 之间。

一种决策树,其中每个叶都包含不同的浮点数
  数字。

<ph type="x-smartling-placeholder"></ph> 图 3.一个进行数值预测的决策树。