结合周志华《机器学习》中决策树部分理解
1、决策树是一种机器学习方法中的一种分类器。
-
通过训练数据构建一种类似于流程图的树结构,其中每个内部点表示在一个属性上的测试对未知数据进行分类,每个分支代 表一个属性输出,每个树叶节点代表类或类分布。
-
决策树包括:根结点、若干个内部结点、若干个叶节点(即目标分类节点)。
-
决策树与其他分类算法相比的优缺点
优点:
1.直观,决策树可以提供可视化,便于理解;
2.适用于小规模数据;
3.数据的准备往往是简单或者不必要的,
4.对相关特征数据的处理;
缺点:
1. 连续变量处理不好,也就是说当数据中存在连续变量的属性时,决策树表现并不是很好;
2. 特征属性增加时,错误增加的比较快;
3. 不稳定性,一点点的扰动或者改动都可能改动整棵树,我们想要的分类器对噪声是健壮的
4. 当数据出现不相关的特征,表现不是很好。
5. 很容易在训练数据中生成复杂的树结构,造成过拟合(overfitting)。
重点: 如何选择节点
一、计算公式的实现
ID3决策树:
信息熵
计算整个数据集D的信息熵,对数据集中每个类别k计算概率,即该类别占总体的比例,一共有n类。越小,D的纯度越高。
信息增益
计算属性a的信息增益,对总体数据集D根据属性a进行划分子集,总共V的子集, 表示子集占总体的比例。
C4.5决策树
固定值
增益率
CART决策树
CART算法采用一种二分递归分割的技术,将当前的样本集分为两个子样本集,使得生成的的每个非叶子节点都有两个分支。因此,CART算法生成的决策树是结构简洁的二叉树。
基尼值
基尼指数
基尼指数考虑的是每个属性的二元划分,因此在当属性值A分类(假如有v类)超过2个时,考虑将属性A二元划分,在不考虑全集和空集的情况下,一共有2^v-2个划分方法。对于每个属性,考虑每种可能的二元划分。对于属性A,选择属性产生最小基尼指数的子集作为作为它的分列子集。
二、各算法之间的比较
ID3(Iterative Dichotomiser 3,迭代二叉树3代)由Ross Quinlan于1986年提出。1993年,他对ID3进行改进设计出了C4.5算法。
ID3算法缺点:信息增益会让ID3算法更偏向于选择值多的属性。信息增益反映给定一个条件后不确定性减少的程度,必然是分得越细的数据集确定性更高,也就是信息熵越小,信息增益越大。因此,在一定条件下,值多的属性具有更大的信息增益。
C4.5算法:在ID3基础上提出,试图克服这种ID3的缺点,用固定值IV(a)将信息增益规范化。
如果划分的信息熵值非常小,信息增益率将会不稳定.因此,C4.5系统中引入一个限制来解决这个问题:待选测试的信息增益值不能小于所有的检测过的测试的平均信息增益值。如果属性集中存在无关属性,即便该属性没有被选为测试属性,都将影响信息增益率的效果.因为引进的无关属性会降低测试的信息增益的平均值,所以一些具有高信息增益率而低信息增益的属性将成为最优的测试属性.这种情况就不会在使用信息增益函数的决策树中出现.实际应用说明信息增益率函数比信息增益函数更健壮,能稳定地选择好的测试。
CART(Classification And Regression Tree,分类回归树)由L.Breiman,J.Friedman,R.Olshen和C.Stone于1984年提出,是一种应用相当广泛的决策树学习方法。值得一提的是,CART和C4.5一同被评为数据挖掘领域十大算法。
原文见:https://blog.csdn.net/lht_okk/article/details/74453713