第一章 分类回归树
1.1 分类回归树概述
分类回归树(classification and regression tree, CART)是一种二叉树,该模型由Breiman等人在1984年提出,是应用最广泛的决策树学习方法。CART树从根节点开始,每次只对一个特征进行判断,然后进入左子节点或右子节点,直至到达叶子节点为止。
1.2 模型训练
1.2.1 递归分裂
训练一棵决策树是一个递归分裂过程。首先创建根节点,然后递归建立左子树和右子树。假设训练样本集为D,则训练流程如下:
(1) 用训练样本集D建立根节点,利用基尼指数判定规则,将样本分裂成D1和D2两个部分,同时为根节点设定判定规则;
(2) 用D1递归建立左子树;
(3) 用D2递归建立右子树;
(4) 如果不能分裂,则将当前节点标记为叶子节点,同时为它赋值。
1.2.2 寻找最佳分裂
训练时需要找到一个分裂规则把训练样本集分为两个子集,因此,需要确定评价标准,根据它寻找最佳分裂。对于分类问题,要确保分裂之后左右子树的样本尽可能纯,即样本类别单一。为此,需要定义不纯度指标,本文的不纯度指标为基尼指数。
假设数据集 D D D 有 k k k 个类别,其样本总数为 ∣ D ∣ |D| ∣D∣,每个类别的样本数目分别为 ∣ D 1 ∣ , ∣ D 2 ∣ , ⋯ , ∣ D k ∣ |D_1|,|D_2|,\cdots,|D_k| ∣D1∣,∣D2∣,⋯,∣Dk∣,则一个样本属于第 i i i 类的概率为:
p i = ∣ D i ∣ ∣ D ∣ p_i = \frac{|D_i|}{|D|} pi=∣D∣∣Di∣
则数据集 D D D 的基尼指数为:
G i n i ( D ) = ∑ i = 1 k p i ( 1 − p i ) Gini(D) = \sum_{i=1}^kp_i(1 - p_i) Gini(D)=i=1∑kpi(1−pi)
假设数据 D D D 被布尔特征 A A A 切分成 D 1 D_1 D