【说明】文章内容来自《机器学习——基于sklearn》,用于学习记录。若有争议联系删除。
????????决策树(decision tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于或等干0的概率,用以评价项且风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称为决策树。决策树是一种非常常见并且优秀的机器学习算法,它易于理解、可解释性强,其可用于分类算法,也可用于回归模型。
????????决策树将算法组织成一棵树的形式。其实这就是将平时所说的if-then语句构建成了树的形式。这棵决策树主要包括3部分:内部节点、叶节点和边。内部节点是划分的属性,边表示划分的条件,叶节点表示类别。构建决策树就是一个递归地选择内部节点,计算划分条件的边,最后到达叶子节点的过程。
优点:
缺点:
根据客户的职业、收入、年龄以及学历等信息判断客户是否有贷款意向。
客户信息表示为{职业,年龄,收入,学历}。某客户信息为{工人,39,1800,小学},决策树的决策步骤如下:
最终得出该客户无贷款意向。可以看出,属性选择的先后次序对于构造决策树有至关重要的作用。
????????信息泛指在社会中传播的一切内容,包括音讯、消息、通信系统传输和处理的对象等。信息可以通过信息熵被量化。1948年,香农在《通信的数学原理》这篇论文中指出:“信息是用来消除随机不确定性的东西。”
????????信息熵是表示信息含量的指标。越不确定的事件,其信息熵越大。信息熵的计算公式如下:
其中P(x)表示事件x出现的概率,X是事件全体的集合。
信息熵性质:
2.3 互信息
????????互信息是对两个离散型随机变量X和Y相关程度的度量,互信息的维恩图如图所示,左圆圈表示X的信息熵H(X),右圆圈表示Y的信息熵H(Y),并集是联合分布的信息熵H(X,Y),差集是条件熵H(X|Y)或H(Y|X),交集为互信息I(X,Y)。互信息越大,意味着两个随机变量的关联就越密切。
2.4 信息增益
????????决策树在划分数据集时选择信息熵变化最大的特征作为分类依据,也就是选择信息增益最大的特征作为分裂节点。不同的特征具有不同的信息增益,信息增益大的特征具有更强的分类能力。信息增益用g表示,其计算公式如下:
其中,条件熵H(X|A)是指在已知随机变量A的条件下X的不确定性。
决策树创建过程分为以下几步:
决策树的典型算法有ID3.C4.5和 CART等。
????????ID3(Iterative Dichotomiser 3,迭代二叉树3代)是一种贪心算法,以信息论为基础,以信息熵和信息增益作为衡量标准,对数据进行分类。ID3算法具有构建速度快、实现简单等优点。ID3算法有如下缺点:
?C4.5算法继承了1D3算法的优点,并在以下几方面进行了改进:
C4.5算法需对数据集进行多次顺序扫描和排序,因此该算法的效率较低。
????????ID3算法和 C4.5 算法生成的决策树规模较大。为了提高生成决策树的效率,出现了CART(Classification And Regression Tree,分类和回归树)算法。当叶子节点是连续型数据时,该决策树为回归树;当叶子节点是离散型数据时,该决策树为分类树。CART 根据基尼系数选择测试属性,数据集D的基尼系数 Gini(D)的计算公式如下:
????????Gini(D)反映了从数据集D中随机抽到两个不一致类别的样本的概率。Gini(D)越小,数据集D的纯度越高;反之,纯度越低。
ID3.C4.5和 CART这3种算法的比较如下: