目录
1.概述
1.1 决策树
决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。这一度量是基于信息学理论中熵的概念。
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
分类树(决策树)是一种十分常用的分类方法。它是一种监督学习,所谓监督学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。
1.2 决策树类型
传统的经典决策树算法包括ID3算法、C4.5算法以及GBDT的基分类器CART算法。
1.3 决策树模型
决策树由结点和有向边组成。结点有两种类型:内部结点和叶结点,其中内部结点表示一个特征或属性,叶结点表示一个类。 一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点。叶结点对应于决策结果,其他每个结点则对应于一个属性测试。每个结点包含的样本集合根据属性测试的结果被划分到子结点中,根结点包含样本全集,从根结点到每个叶结点的路径对应了一个判定测试序列。
2.决策树步骤
特征选择、决策树的生成、决策树的修剪
3.两种决策树算法对比
3.1 ID3
原理:ID3算法的基本原理是基于信息熵和信息增益的概念,通过选择最能降低数据不确定性的属性来进行划分,直到所有数据都属于同一类别。在算法过程中,首先计算数据集的香农熵,然后选择信息增益最大的属性作为划分点,将数据集进行划分,直到生成的决策树能完美分类训练样例或没有更多的属性可供划分为止。
公式:H(X)=-
代码实现:
运行结果:
3.2 C4.5
原理:C4.5算法使用信息增益率作为选择最佳划分属性的标准,避免了ID3算法中可能出现的倾向于选择具有多个属性值的属性作为分裂属性的问题。能够处理连续型特征属性,并通过二分法对连续属性进行离散化处理。引入剪枝技术,避免决策树过拟合,提高模型的泛化能力。能够处理具有缺失值的数据,提供更好的适应性和准确性。
公式:H(X)=-
代码实现:
运行结果:
3.3 对比分析
对于ID3算法,它存在以下问题:
取值多的属性,更容易使数据更纯,其信息增益更大;
训练得到的是一棵庞大且深度浅的树,这样的树是不合理的。
C4.5算法可以抑制ID3的上述缺点。
C4.5算法改进了信息增益,它选用信息增益比来选择最优特征。