旅游景区网站建设,网站建设多少钱宋柯,网站建设费用及预算,八角网站建设#x1f680;个人主页#xff1a;为梦而生~ 关注我一起学习吧#xff01; #x1f4a1;专栏#xff1a;机器学习 欢迎订阅#xff01;后面的内容会越来越有意思~ ⭐特别提醒#xff1a;针对机器学习#xff0c;特别开始专栏#xff1a;机器学习python实战 欢迎订阅个人主页为梦而生~ 关注我一起学习吧 专栏机器学习 欢迎订阅后面的内容会越来越有意思~ ⭐特别提醒针对机器学习特别开始专栏机器学习python实战 欢迎订阅本专栏针对机器学习基础专栏的理论知识利用python代码进行实际展示真正做到从基础到实战 往期推荐 【机器学习基础】机器学习入门1 【机器学习基础】机器学习入门2 【机器学习基础】机器学习的基本术语 【机器学习基础】机器学习的模型评估评估方法及性能度量原理及主要公式 【机器学习基础】一元线性回归适合初学者的保姆级文章 【机器学习基础】多元线性回归适合初学者的保姆级文章 【机器学习基础】对数几率回归logistic回归 【机器学习基础】正则化 本期内容前面讲了三个最基本的模型包括了分类和回归这里再来介绍另外一种很常用的分类方法决策树。 文章目录 1 什么是决策树1.1 决策树的基本描述1.2 决策树的组成1.3 决策树的递归策略 2 划分选择2.1 信息熵2.2 信息增益2.3 增益率2.4 基尼指数 3 剪枝处理3.1 预剪枝3.1.1 预剪枝的优缺点 3.2 后剪枝3.2.1 后剪枝的优缺点 4 连续属性处理4.1 连续属性离散化(二分法) 5 多变量决策树成熟的决策树软件包 1 什么是决策树 决策树是一种树形结构用于描述从一组数据中提取出一些特征并通过这些特征来进行分类或预测的过程。决策树的每个节点表示一个特征每个分支表示这个特征的一个取值叶子节点表示最终的分类结果。 1.1 决策树的基本描述
决策过程中提出的每个判定问题都是对某个属性的“测试”决策过程的最终结论对应了我们所希望的判定结果每个测试的结果或是导出最终结论或者导出进一步的判定问题其考虑范围是在上次决策结果的限定范围之内从根结点到每个叶结点的路径对应了一个判定测试序列
决策树学习的目的是为了产生一棵泛化能力强即处理未见示例能力强的决策树
1.2 决策树的组成
决策树由以下几部分组成
决策节点决策树的起点代表了整个决策过程的开始。机会节点机会节点代表一个事件发生的可能性也就是一个随机事件。决策枝从决策节点或机会节点出发代表决策者可以作出的选择或决策。概率枝从机会节点出发代表该事件发生的概率。损益值在决策过程中每个决策或事件的发生都伴随着一定的成本或收益这些成本或收益被称为损益值。终点代表了决策过程的结束通常以一个方框表示。 在构建决策树时需要从决策树的末端开始从后向前逐步推进到决策树的始端。在推进的过程中需要计算每个阶段事件发生的期望值并考虑资金的时间价值。最后通过对决策树进行剪枝删去除了最高期望值以外的其他所有分枝找到问题的最佳方案。
1.3 决策树的递归策略
显然决策树的生成是一个递归过程。在决策树基本算法中,有三种情形会导致递归返回:
当前结点包含的样本全属于同一类别,无需划分当前属性集为空或是所有样本在所有属性上取值相同无法划分当前结点包含的样本集合为空不能划分 在第(2)种情形下,我们把当前结点标记为叶结点并将其类别设定为该结点所含样本最多的类别; 在第(3)种情形下同样把当前结点标记为叶结点但将其类别设定为其父结点所含样本最多的类别.注意这两种情形的处理实质不同: 情形(2)是在利用当前结点的后验分布而情形(3)则是把结点的样本分布作为当前结点的先验分布. 2 划分选择 决策树的关键是如何选择最优划分属性一般而言随着划分过程的不断进行我们希望决策树的分支节点包含的样本尽可能的属于同一类别即结点的“纯度”越来越高 2.1 信息熵 在决策树中信息熵是一个重要的概念用于度量样本集合的不纯度。对于样本集合而言如果样本集合中只有一个类别则其确定性最高熵为0反之如果样本集合中包含多个类别则熵越大表示样本集合中的分类越多样。 在决策树的构建过程中信息熵被用来选择最佳的划分属性。对于每个属性计算其划分后的信息熵选择使得信息熵最小的属性作为当前节点的划分属性。这样能够使得划分后的子树更加纯即类别更加明显从而降低样本集合的不确定性。
信息熵的公式如下 假定离散属性 α \alpha α有 V V V个可能的取值若使用 α \alpha α来对样本集 D D D进行划分则会产生 V V V个分支结点其中 v v v第个分支结点包含了 D D D中所有在属性 a a a上取值为 a v a^v av的样本,记为 D v D^v Dv我们可根据信息熵计算公式计算出 D v D^v Dv的信息嫡,再考虑到不同的分支结点所包含的样本数不同,给分支结点赋予权重 ∣ D v ∣ ∣ D ∣ \frac{|D^v|}{|D|} ∣D∣∣Dv∣即样本数越多的分支结点的影响越大,于是可计算出用属性 α \alpha α对样本集 D D D进行划分所获得的“信息增益”(information gain)
2.2 信息增益
为了衡量不同划分方式降低信息熵的效果还需要计算分类后信息熵的减少值原系统的信息熵与分类后系统的信息熵之差该减少值称为熵增益或信息增益其值越大说明分类后的系统混乱程度越低即分类越准确。
信息增益的计算公式如下 一般而言信息增益越大则意味着使用属性a来进行划分所获得的“纯度提升”越大。
对于信息增益举一个西瓜书上面的例子
2.3 增益率 在上面的介绍中我们有意忽略了编号这一列.若把编号也作为一个候选划分属性可计算出它的信息增益为0.998远大于其他候选划分属性.这很容易理解编号将产生 17 个分支每个分支结点仅包含一个样本这些分支结点的纯度己达最大.然而这样的决策树显然不具有泛化能力无法对新样本进行有效预测. 实际上信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的C4.5决策树算法不直接使用信息增益,而是使用“增益率”(gain ratio)来选择最优划分属性.采用信息增益相同的符号表示,增益率定义为 其中 优点属性a的可能取值数目越多 (即 V 越大)则 IV(a) 的值通常就越大。 缺点对取值数目少的属性有偏好 C4.5 算法中使用启发式 先从候选划分属性中找出信息增益高于平均水平的再从中选取增益率最高的。
2.4 基尼指数
决策树模型的建树依据主要用到的是基尼系数的概念。反映了从 D 中随机抽取两个样例其类别标记不一致的概率。
采用基尼系数进行运算的决策树也称为CART决策树。
基尼系数gini用于计算一个系统中的失序现象即系统的混乱程度纯度。基尼系数越高系统的混乱程度就越高不纯建立决策树模型的目的就是降低系统的混乱程度体高纯度从而得到合适的数据分类效果。
基尼系数的计算公式如下 基尼系数越低表示系统的混乱程度越低纯度越高区分度越高越适合用于分类预测。 在候选属性集合中选取那个使划分后基尼指数最小的属性。即 3 剪枝处理 划分选择的各种准则虽然对决策树的尺寸有较大影响但对泛化性能的影响很有限。是决策树预防“过拟合”的主要手段 可通过“剪枝”来一定程度避免因决策分支过多以致于把训练集自身的一些特点当做所有数据都具有的一般性质而导致的过拟合 剪枝方法和程度对决策树泛化性能的影响更为显著在数据带噪时甚至可能将泛化性能提升 25% 3.1 预剪枝
从上往下剪枝通常利用超参数进行剪枝。例如通过限制树的最大深度max_depth便能剪去该最大深度下面的节点。
没有剪枝前 剪枝后
3.1.1 预剪枝的优缺点
优点
降低过拟合风险显著减少训练时间和测试时间开销
缺点
欠拟合风险
3.2 后剪枝
从下往上剪枝大多是根据业务需求剪枝。例如在违约预测模型中认为违约概率为45%和50%的两个叶子节点都是高危人群那么就把这两个叶子节点合并成一个节点。 3.2.1 后剪枝的优缺点
优点
欠拟合风险小泛化性能往往优于预剪枝决策树
缺点
训练时间开销大
4 连续属性处理 根据定义决策树擅长处理离散属性但对于连续属性也是有办法应对的 4.1 连续属性离散化(二分法)
第一步
假定连续属性 a a a在样本集 D D D上出现 n n n个不同的取值从小到大排列记为 a 1 , a 2 , . . . , a n a^1,a^2,...,a^n a1,a2,...,an基于划分点 t t t可将 D D D分为子集 D t − D^{-}_{t} Dt−和 D t D^{}_{t} Dt其中 D t − D^{-}_{t} Dt−包含那些在属性 a a a上取值不大于 t t t的样本 D t D^{}_{t} Dt包含那些在属性 a a a上取值大于 t t t的样本考虑包含 n − 1 n-1 n−1个元素的候选划分点集合 即把区间 [ a i , a i − 1 ) [a^{i},a^{i-1}) [ai,ai−1)的中位点 a i a i 1 2 \frac{a^{i}a^{i1}}{2} 2aiai1作为候选划分点
第二步: 采用离散属性值方法考察这些划分点选取最优的划分点进行样本集合的划分 其中 G a i n ( D , a , t ) Gain(D,a,t) Gain(D,a,t)是样本集 D D D基于划分点 t t t二分后的信息增益于是就可选择使 G a i n ( D , a , t ) Gain(D,a,t) Gain(D,a,t)最大化的划分点 5 多变量决策树 多变量决策树是一种基于树结构进行决策的机器学习方法可以用于分类和回归任务。它将决策树中的叶子结点转换为一个线性的分类器用于解决数据集中属性过多的情况。常用的算法有ID3、C4.5、CART和Random Forest。 单变量决策树分类边界:轴平行 单变量和多变量决策树的区别如下图所示
成熟的决策树软件包
ID3,C4.5,C5.0 J48