决策树有分类树(ID3,C4.5)和回归树,分类树的输出是定性的,回归树的输出是定量的
构造决策树的过程
1、决策树的特征选择
计算信息增益(ID3)或信息增益比(C4.5)来选择特征
输入:训练集D和特征集A 输出:特征A对训练集D的信息增益g(D,A)
(1)数据集D的经验熵H(D)
(2)特征A对数据集D的经验条件熵H(D|A)
(3)信息增益g(D,A)——ID3算法需要
(4)信息增益比——C4.5算法需要
其中,,n是特征A取值的个数
注:信息增益会偏向取值更多的特征。在信息增益计算公式中,特征A的取值越多,条件熵H(D|A)往往越小,导致信息增益越大。因为特征的取值越多,数据集根据这个特征分裂的子集越多,子集越多,每个子集的样本越少,导致每个子集的熵越少(样本越少,信息越少,信息不确定性越小,熵越小),所以条件熵越小
2、决策树的生成
确定:决策树的根节点,决策树的中间节点
ID3算法:
输入:训练集D,特征集A,阈值
输出:决策树T
1)若D中所有实例属于同一类,则T为单节点树,并将
作为该节点的类标记,返回T;
2)若A为空集,没有特征集,T为单节点树,并将D中实例数量最大的类作为该节点的类标记,返回T;
3)否则,计算A中各个特征对D的信息增益,选择信息增益最大的特征;
4)如果的信息增益小于阈值
,则T为单节点树,并将D中实例最大的类
作为该节点的类标记,返回T;
5)否则对的每一个可能值,根据
将D分割为若干非空子集
,将其中实例数最大的类作为标记,构建子节点,由节点及其子节点构成树T,返回T;
6)对第i个子节点,以为训练集,为特征集,递归调用(1)~(5),得到子树
,返回
C4.5算法:(与ID3算法类似,只是将计算信息增益改成计算信息增益比)
3、决策树的剪枝
目的:防止过拟合,提高泛化能力。对于一个特定的数据集生成的一棵决策树,这个决策树可能只适合这个数据集,容易出现过拟合的状态。
剪枝方法:极小化决策树整体的损失函数
决策树只考虑了通过提高信息增益(信息增益比)对训练数据更好的拟合,而决策树的剪枝通过优化损失函数还考虑了减小模型的复杂度。决策树生成学习局部的模型,而决策树剪枝学习整体的模型
分类回归树—CART
CART决策树的生成:递归的构建二叉决策树
回归树的生成:最小二乘回归树生成算法(平方误差最小化准则进行特征选择)
分类树的生成:基尼系数(基尼系数最小化准则进行特征选择)
CART决策树剪枝:
1)形成一个子树序列
2)在子树序列中通过交叉验证选取最优子树
参考资料
【决策树算法】想快速学习决策树算法吗?美女姐姐用甜美声音为你讲解决策树 ID3 信息增益 C4.5 CART 快快点开学习吧_哔哩哔哩_bilibili
这个小姐姐的讲解思路很清晰!!!!可以去看她的讲解视频吖