数据挖掘决策树算法ID3和C45复习课程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据挖掘决策树算法ID3和C45复习课程课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 挖掘 决策树 算法 ID3 C45 复习 课程 课件
- 资源描述:
-
1、 决策树的建立 Decision Tree数据挖掘学习数据挖掘的工具-weka weka是用Java语言编写的完整的软件资源 Explorer是weka的主要图形用户界面 weka存储数据的原始方式是ARFF或CSV文件格式 ARFF文件是由一组实例组成,并且每组实例的属性值由逗号分开。(属性的类别)天气数据outlooktemperaturehumiditywindyplay1sunnyhothighFALSEno2sunnyhothighTRUEno3overcasthothighFALSEyes4rainymildhighFALSEyes5rainycoolnormalFALSEyes6
2、rainycoolnormalTRUEno7overcastcoolnormalTRUEyes8sunnymildhighFALSEno9sunnycoolnormalFALSEyes10 rainymildnormalFALSEyes11 sunnymildnormalTRUEyes12 overcastmildhighTRUEyes13 overcasthotnormalFALSEyes14 rainymildhighTRUEno 我们希望从上面的实例中找出者若干条规则,使得能够对这些实例的类做出判断(理想情况下)(举例)if outlook=sunny and=high then pla
3、y=no if humidity=normal then play=yes 第二条规则错分了一个实例样本n决策节点:决策节点:1.最上面的节点称为根节点,是整个决策树的开始。最上面的节点称为根节点,是整个决策树的开始。2.每个节点子节点的个数与决策树在用的算法有关。每个节点子节点的个数与决策树在用的算法有关。(二叉树、多叉树)(二叉树、多叉树)n分支:判断过程,要么是新的决策节点,要么是叶子分支:判断过程,要么是新的决策节点,要么是叶子n树叶树叶:树的结尾,每个叶子代表一个类别树的结尾,每个叶子代表一个类别根节点叶子节点决策节点叶子节点叶子节点步骤:步骤:1.决策树的生成:由训练样本数据集(根
4、据历史数据生成、有一定综合程度的用于数据分析处理的数据集)生成2.决策树的剪枝:采用新的样本数据集(测试数据集或者训练数据修剪集)检验决策树生成过程中产生的初步规则,将影响预测准确性的分支剪除。ID3决策树算法描述 1.试探性地选择一个属性放置在根节点,并对该属性的每个值产生一个分支。2.分裂根节点上的数据集,并移到子女节点,产生一棵局部树。3.对该划分的信息增益进行计算。4.对其他属性重复该过程。5.每个用于划分的属性产生一棵局部树。6.根据局部树的信息增益值,选择一棵增益最大的属性的局部树。7.对选定的局部树的每个子女节点重复以上1-6步。8.这是一个递归过程。如果一个节点上的所有实例都具
5、有相同的类,则停止局部树的生长。选择属性作为根产生分支计算信息增益选择max增益数据进一步分裂?结束否是算法流程图信息值(熵)、信息增益的概念熵:entropy(p1,p2,.,pn)=-p1logp1-p2logp2-pnlogpn使用负号是因为分数p1,p2,.,pn的对数值是负数,而熵是一个正数。熵是以位bit位单位的,公式里的p1,p2,.,pn他们的和为1。entropy(p,q,r)=entropy(p,q+r)+(q+r)*entropy(q/(q+r),r/(q+r)我们需要一种度量来表示节点的纯度,并需要这种度量告诉我们根据一个变量的属性值将一个不纯的节点上的数据划分到其子女
6、后,纯度提高了多少。最为广泛使用的度量是信息值(熵)。(以天气数据为例)outlook属性的树桩yesyesnononoyesyesyesyesyesyesyesnonooutlooksunnyovercastrainy在叶子节点上的yes和no类的实例数量分别是2,3、4,0、3,2,因此,这些节点上的信息值分别是:info(2,3)=entropy(2/5,3/5)=0.971 bitinfo(4,0)=entropy(1,0)=0 bitinfo(3,2)=entropy(3/5,2/5)=0.971 bit然后计算这些叶子节点的平均信息值,并考虑到达每个分支的实例数量:有5个实例到达第
7、一和第三个分支;4个实例到达第二个分支:那么平均信息值info(2,3,4,0,3,2)=(5/14)*0.971+(4/14)*0+(5/14)*0.971=0.693 bit在任何初始树创建之前,处于根节点的训练样本由9个yes和5个no组成,与之相对应的信息值:info(9,5)=0.940 bit因此树桩所获得的信息增益为:gain(outlook)=info(9,5)-info(2,3,4,0,3,2)=0.940-0.693=0.247 bittemperature、humidity、wind属性的树桩yesyesnonoyesyesyesyesnonoyesyesyesnotem
8、perature hotmildcool分别计算它们的信息增益为:gain(temperature)=0.029 bityesyesyesnonononoyesyesyesyesyesyesnohumidity highnormalyesyesyesyesyesyesnonoyesyesyesnononowind falsetruegain(humidity)=0.152 bitgain(wind)=0.048 bit将这些属性的信息增益的值进行比较,信息增益最大的属性节点将作为决策树的根节点。所以我们选择outlook属性作为根节点,它是唯一一个获得了全纯子节点,这就为超越其他所有属性赢得了
9、相当大的优势。而湿度属性是第二个最佳选择,因为它产生了一个几乎是全纯且较大的子节点。根节点确定了,接着继续进行这种递归过程。下面是outlook属性值为sunny时的节点进一步分支的可能性:outlooksunnyhumiditynononoyesyeshighnormaloutlooksunnywindyesnonoyesnofalsetrueoutlooksunnytemperaturenonoyesnoyeshotmildcool他们的信息增益分别为:gain(temperature)=0.571 bitgain(humidity)=0.971 bitgain(wind)=0.493 b
展开阅读全文