1--决策树

本周学习聚焦于研究生所需能力和决策树算法。理解研究生应具备的文献阅读、问题解决及自我驱动力等关键能力。同时,深入学习了决策树的原理,包括信息熵、基尼指数的选择标准以及剪枝处理,实现了一版基于信息熵的决策树算法。下周计划将关注预剪枝、后剪枝和可视化展示,同时涉足神经网络算法。
摘要由CSDN通过智能技术生成

本周学习内容:

  1. 阅读《研究生要具备什么能力》
  2. 学习了解决策树算法,并编程实现基于信息熵、基尼指数进行划分选择的决策数算法。

1,《研究生要具备什么能力》

作者通过自身在不同学习阶段的经历来阐述了各个阶段的特点,点明了研究生需要具备的学习能力有哪些,包括读文献、查资料、自己补充不住、纠正错误以及理解重点。随后讲述了研究生导师的作用,更多的一个榜样作用,作为学生更多的是学习导师做研究、写论文和思考问题的方法等方面,其主要贡献是在眼界、经验和对前沿的了解以及学术研究的传承等学生缺乏的方面。

通过阅读该文章,初步了解了作为研究生应该具有的能力,以及在这三年的研究生学习生活中学习的方向。自我本身能力的一种提升不仅在于提升代码知识的方面,更多的是思维能力的提升。也更加清楚的明白,大学本科与研究生的不同,研究生所需要的是更加强大的自我驱动能力。

2,决策树

2.1 决策树定义

决策树是基于树结构来进行决策,一颗决策树一般包括一个根节点、多个内部节点和叶节点。其中叶节点对应于决策的结果,每个内部节点对应于一个属性测试,每个界点包含的样本集合根据属性测试的结果划分到子节点中,根节点为所有样本集合。

2.2 决策树的划分

一般可以通过信息增益、增益率、基尼指数等准则用于决策树的划分选择。

2.2.1 信息增益

       ID3算法就是使用该准则来选择划分属性,假定当前样本集合D中k类样本所占比例为Pk(k=1,2,3,,,,|y|),则D的信息熵为:

EntD=k=1|y|Pk log2pk

Ent(D)值越小,表示其纯度越高。

假定离散属性a有V个可能的取值{a1,a2,……,av},使用a来对样本D进行划分,其中第v个节点包括了D中所有样本属性a上取值为av的样本,记为Dv,Gain(D,a)即为用属性a对样本集进行划分所获得的信息增益。消息增益越大,即用a来划分获得的纯度提升越大。

GainDa=EntD-v=1V|Dv||D|EntDv

2.2.2增益率

       信息增益准则对可取值数目较多的属性有所偏好,为了减少该偏好带来的不利影响,有算法会在消息增益的基础上使用增益率来选择划分。增益率的定义为:

Gain_ratio(D,a)=Gain(D,a)IV(a)

其中IVa=-v=1V|Dv||D|log2|Dv||D|表示为a的固有值,当该属性取值越多,IV(a)也会越大。但值得注意的是该准则对可取数目较少的属性有所偏好,因此一般都会与消息增益进行结合来划分。

2.2.3 基尼指数

       数据集D的纯度可用基尼指数来度量:

GiniD=k=1yk'≠kPk Pk'=1-k=1|y|Pk2

Gini(D)越小,则数据集D的纯度越高,属性a的基尼指数为:

Gain_indexDa=v=1V|Dv||D|GiniDv

2.3 剪枝处理

       为了防止决策树的过拟合,可以通过主动去剪掉一些分支来降低过拟合的风险。一般包括“预剪枝”和“后剪枝”。

       预剪枝指在决策树生成过程中,在节点划分前进行估计,若该节点的划分不能带来决策树的泛化性能得提升,则停止划分并标记其为叶子节点。该方法不仅降低了过拟合得风险,还显著减少了决策树得训练时间开销和测试时间开销,但存在欠拟合的风险。
       后剪枝是在已经生成的决策树中,自下向上对非叶节点进行考察,若将该节点对应的子树替换为叶节点能提高决策树的泛化性能,则将该子树替换为叶节点。易知该方法会比预剪枝保留更多的分支,欠拟合风险较小,但训练时间开销会大得多。

2.4编程实现基于信息熵进行划分的决策树算法

在这里使用西瓜数据集2.0

生成决策树伪代码如下:

根据伪代码构造决策树的代码如下:

其中用于计算信息熵的代码如下图所示:

其他部分函数就不一一展示,最终运行结果如下图所示(由于这里还未实现可视化,只是将决策树的结构打印出来。):

下周计划:

  1. 继续学习预剪枝、后剪枝部分的处理以及结果可视化展示
  2. 学习神经网络算法相关内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值