文章目录
- 一、简介
- 二、决策树分类原理
- 1.熵
- 2.决策树的划分依据一------信息增益
- 3. 决策树的划分依据二----信息增益率
- 4.决策树的划分依据三——基尼值和基尼指数
- 5. 决策树构建的基本步骤如下:
- 6.总结 常见决策树类型比较
- 6.1 ID3 算法
- 6.2 C4.5算法
- 6.3 CART算法
一、简介
决策树:是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果,本质是一颗由多个判断节点组成的树。
二、决策树分类原理
1.熵
- 熵 是指混乱程度(虽然以前化学课总睡觉,但这个词还是记着的)系统越有序,熵值越低;系统越混乱或者分散,熵值越高。
- 熵的公式
- 如下图 是运用公式计算的一个例子。
2.决策树的划分依据一------信息增益
- 信息增益 挺简单的 记住这个公式即可:
信息增益 = entroy(前) - entroy(后)
再或者说就是 划分前的熵值 - 划分后的熵值 - 看个例子:
如下左图,第一列为论坛号码,第二列为性别,第三列为活跃度,最后一列用户是否流失。
我们要解决一个问题:性别和活跃度两个特征,哪个对用户流失影响更大?【下面我只放了对于 “性别”影响的计算】
3. 决策树的划分依据二----信息增益率
- 信息增益率是信息增益的改良版。
信息增益总是更倾向于选择分类数量多的特征。比如一组数据中的系列号,所有的序列号都不一样,是信息增益最大的一个选项,但对于实际并无意义~ - 信息增益率的计算方法。
4.决策树的划分依据三——基尼值和基尼指数
基尼值Gini(D):从数据集D中随机抽取两个样本,其类别标记不一致的概率。故,Gini(D)值越小,数据集D的纯度越高。
基尼值计算:【有点绕,认真看一个例子就想起来了…】
5. 决策树构建的基本步骤如下:
- 开始将所有记录看作一个节点
- 遍历每个变量的每一种分割方式,找到最好的分割点
- 分割成两个节点N1和N2
- 对N1和N2分别继续执行2-3步,直到每个节点足够“纯”为止。
6.总结 常见决策树类型比较
6.1 ID3 算法
存在的缺点
(1) ID3算法在选择根节点和各内部节点中的分支属性时,采用信息增益作为评价标准。信息增益的缺点是倾向于选择取值较多的属性,在有些情况下这类属性可能不会提供太多有价值的信息.
(2) ID3算法只能对描述属性为离散型属性的数据集构造决策树。
6.2 C4.5算法
做出的改进(为什么使用C4.5要好)
(1) 用信息增益率来选择属性
(2) 可以处理连续数值型属性
(3)采用了一种后剪枝方法
(4)对于缺失值的处理
C4.5算法的优缺点
优点: 产生的分类规则易于理解,准确率较高。
缺点:
- 在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
- 此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。
6.3 CART算法
CART算法相比C4.5算法的分类方法,采用了简化的二叉树模型,同时特征选择采用了近似的基尼系数来简化计算。
C4.5不一定是二叉树,但CART一定是二叉树。
同时,无论是ID3, C4.5还是CART,在做特征选择的时候都是选择最优的一个特征来做分类决策,但是大多数,分类决策不应该是由某一个特征决定的,而是应该由一组特征决定的。 这样决策得到的决策树更加准确。这个决策树叫做多变量决策树(multi-variate decision tree)。在选择最优特征的时候,多变量决策树不是选择某一个最优特征,而是选择最优的一个特征线性组合来做决策。这个算法的代表是OC1,这里不多介绍。
如果样本发生一点点的改动,就会导致树结构的剧烈改变。这个可以通过集成学习里面的随机森林之类的方法解决。