本单元重点介绍用于构建决策树的不同类型的条件。conditions
轴对齐与倾斜条件
轴对齐条件仅涉及一个地图项。倾斜条件涉及多个特征。例如,以下是一个轴对齐条件:
num_legs ≥ 2
虽然如下是强制性条件:
num_legs ≥ num_fingers
通常,决策树仅使用轴对齐的条件进行训练。但是,倾斜分屏功能更强大,因为它们可以表达更复杂的模式。有时,倾斜式拆分有时会产生更好的结果,但代价是更高的训练和推理成本。
YDF 代码
在 YDF 中,决策树默认使用轴对齐条件进行训练。您可以使用 split_axis="SPARSE_OBLIQUE"
参数启用决策倾斜树。图 4. 轴对齐条件和倾斜条件的示例。
对上述两个条件绘制图表可以产生以下特征空间分离:
图 5. 图 4 中条件的特征空间分离。
二元和非二元条件
具有两种可能结果(例如 true 或 false)的条件称为“二元条件”。仅包含二元条件的决策树称为二元决策树。
非二元条件具有两种以上的结果。因此,非二元条件比二元条件更强大。 包含一个或多个非二元条件的决策称为非二元决策树。
图 6:二元决策树与非二元决策树。
功率过大的条件也更有可能过拟合。因此,决策森林通常使用二元决策树,因此本课程重点介绍此类决策树。
最常见的条件类型是阈值条件,表示方式如下:
feature ≥ threshold
例如:
num_legs ≥ 2
还有其他类型的条件。以下是其他常用的二元条件类型:
表 2. 二元条件的常见类型。
名称 | 条件 | 示例 |
阈值条件 | $\mathrm{feature}_i \geq \mathrm{threshold}$ | $\mathrm{num\_legs} \geq 2$ |
等式条件 | $\mathrm{feature}_i = \mathrm{value}$ | $\mathrm{species} = ``cat"$ |
内嵌条件 | $\Mathrm{feature}_i \在\mathrm{集合}$ | $\mathrm{species} \in \{``cat", ``dog", ``bird"\}$ |
倾斜条件 | $\sum_{i} \mathrm{weight}_i \mathrm{feature}_i \geq \mathrm{threshold}$ | $5 \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$ |
功能缺失 | $\mathrm{feature}_i \mathrm{is} \mathrm{缺失}$ | $\Mathrm{num\_legs} \mathrm{is} \mathrm{Missing}$ |