没有合适的资源?快使用搜索试试~ 我知道了~
首页《RapidMiner数据分析与挖掘实战》第11章 决策树与神经网络
《RapidMiner数据分析与挖掘实战》第11章 决策树与神经网络
需积分: 48 24 下载量 139 浏览量
更新于2023-03-16
评论 2
收藏 1.4MB DOC 举报
决策树方法在分类、预测、规则提取等领域有着广泛应用。在20世纪70年代后期和80年代初期,机器学习研究者J.Ross Quinilan提出了ID3[5-2]算法以后,决策树在机器学习、数据挖掘邻域得到极大的发展。Quinilan后来又提出了C4.5,成为新的监督学习算法。1984年几位统计学家提出了CART分类算法。ID3和ART算法大约同时被提出,但都是采用类似的方法从训练样本中学习决策树。
资源详情
资源评论
资源推荐
《RapidMiner 数据分析与挖掘实战》第 11 章
第1章 决策树与神经网络
11.1 理解决策树
决策树方法在分类、预测、规则提取等领域有着广泛应用。 在 20 世纪 70 年代后期和
80 年代初期,机器学习研究者 J.Ross Quinilan 提出了 ID3
[5-2]
算法以后,决策树在机器学习、
数据挖掘邻域得到极大的发展。Quinilan 后来又提出了 C4.5,成为新的监督学习算法。
1984 年几位统计学家提出了 CART 分类算法。ID3 和 ART 算法大约同时被提出,但都是采
用类似的方法从训练样本中学习决策树。
决策树是一树状结构,它的每一个叶节点对应着一个分类,非叶节点对应着在某个属
性上的划分,根据样本在该属性上的不同取值将其划分成若干个子集。对于非纯的叶节点
多数类的标号给出到达这个节点的样本所属的类。构造决策树的核心问题是在每一步如何
选择适当的属性对样本做拆分。对一个分类问题,从已知类标记的训练样本中学习并构造
出决策树是一个自上而下,分而治之的过程。
常用的决策树算法见表 11-1。
表 11-1 决策树算法分类
决策树算法 算法描述
ID3 算法
其核心是在决策树的各级节点上,使用信息增益方法作为属性的选
择标准,来帮助确定生成每个节点时所应采用的合适属性。
C4.5 算法
C4.5 决策树生成算法相对于 ID3 算法的重要改进是使用信息增益率
来选择节点属性。C4.5 算法可以克服 ID3 算法存在的不足:ID3 算
法只适用于离散的描述属性,而 C4.5 算法既能够处理离散的描述属
性,也可以处理连续的描述属性。
CART 算法
CART 决策树是一种十分有效的非参数分类和回归方法,通过构建
树、修剪树、评估树来构建一个二叉树。当终结点是连续变量时,
该树为回归树;当终结点是分类变量,该树为分类树。
本节将详细介绍 ID3 算法,也是最经典的决策树分类算法。
1. ID3 算法简介及基本原理
231
《RapidMiner 数据分析与挖掘实战》第 11 章
ID3 算法基于信息熵来选择最佳测试属性。它选择当前样本集中具有最大信息增益值
的属性作为测试属性;样本集的划分则依据测试属性的取值进行,测试属性有多少不同取
值就将样本集划分为多少子样本集,同时决策树上相应于该样本集的节点长出新的叶子节
点。ID3 算法根据信息论理论,采用划分后样本集的不确定性作为衡量划分好坏的标准,
用信息增益值度量不确定性:信息增益值越大,不确定性越小。因此,ID3 算法在每个非
叶节点选择信息增益最大的属性作为测试属性,这样可以得到当前情况下最纯的拆分,从
而得到较小的决策树。
设 是 个数据样本的集合。假定类别属性具有 个不同的值:
( 1, 2,..., )
i
C i m=
。
设 是类 中的样本数。对一个给定的样本,它总的信息熵为
1 2 2
1
( , ,..., ) log ( )
m
m i i
i
I s s s P P
=
=-
å
(
11-1
)
其中, 是任意样本属于 的概率,一般可以用 估计。
设一个属性 A 具有 个不同的值
1 2
{ , ,..., }
k
a a a
,利用属性 A 将集合 划分为 个子集
1 2
{ , ,..., }
k
S S S
,其中 包含了集合 中属性 A 取 值的样本。若选择属性 A 为测试属性,
则这些子集就是从集合 的节点生长出来的新的叶节点。设 是子集 中类别为 的样
本数,则根据属性 A 划分样本的信息熵值为
1 2
1 2
1
...
( ) ( , ,..., )
k
j j mj
j j mj
j
s s s
E A I s s s
s
=
+ + +
=
å
(
11-2
)
其中,
1 2 2
1
( , ,..., ) log ( )
m
j j mj ij i j
i
I s s s P P
=
=-
å
,
1 2
...
ij
ij
j j mj
s
P
s s s
=
+ + +
是子集 中类别
为 的样本的概率。
最后,用属性 A 划分样本集 后所得的信息增益(Gain)为
232
《RapidMiner 数据分析与挖掘实战》第 11 章
1 2
( ) ( , ,..., ) ( )
m
Gain A I s s s E A= -
(11-3)
显然 越小, 的值越大,说明选择测试属性 A 对于分类提供的信息越大,
选择 A 之后对分类的不确定程度越小。属性 A 的 个不同的值对应的样本集 的 个子集
或分支,通过递归调用上述过程(不包括己经选择的属性),生成其他属性作为节点的子
节点和分支来生成整个决策树。ID3 决策树算法作为一个典型的决策树学习算法,其核心
是在决策树的各级节点上都用信息增益作为判断标准来进行属性的选择,使得在每个非叶
节点上进行测试时,都能获得最大的类别分类增益,使分类后的数据集的熵最小。这样的
处理方法使得树的平均深度较小,从而有效地提高了分类效率。
2. ID3 算法具体流程
ID3 算法的具体详细实现步骤如下:
1) 对当前样本集合,计算所有属性的信息增益;
2) 选择信息增益最大的属性作为测试属性,把测试属性取值相同的样本划为同一个
子样本集;
3) 若子样本集的类别属性只含有单个属性,则分支为叶子节点,判断其属性值并标
上相应的符号,然后返回调用处;否则对子样本集递归调用本算法。
下面将结合餐饮案例实现 ID3 的具体实施步骤。T 餐饮企业作为大型连锁企业,生产
的产品种类比较多,另外涉及的分店所处的位置也不同,数目比较多。对于企业的高层来
讲,了解周末和非周末销量是否有大的区别,以及天气、促销活动这些因素是否能够影响门
店的销量这些信息至关重要。因此,为了让决策者准确了解和销量有关的一系列影响因素
需要构建模型来分析天气、是否周末和是否有促销活动对销量的影响,下面以单个门店来
进行分析。
对于天气属性,数据源中存在多种不同的值,这里将那些属性值相近的值进行类别整
合。如天气为“多云”、“多云转晴”、“晴”这些属性值相近,均是适宜外出的天气,不会对产
品销量有太大的影响,因此将它们为一类,天气属性值设置为“好”,同理对于“雨”、“小到
中雨”等天气,均是不适宜外出的天气,因此将它们为一类,天气属性值设置为“坏”。
对于是否周末属性,周末则设置为“是”,非周末则设置为“否”。
对于是否有促销活动属性,有促销则设置为“是”,无促销则设置为“否”。
产品的销售数量为数值型,需要对属性进行离散化,将销售数据划分为“高”和“低”两类
将其平均值作为分界点,大于平均值的划分到类别“高”,小于平均值的划分为“低”类别。
233
《RapidMiner 数据分析与挖掘实战》第 11 章
经过以上的处理,我们得到的数据集合如2。
表 11-2 处理后的数据集
序号 天气 是否周末 是否有促销 销量
1 坏 是 是 高
2 坏 是 是 高
3 坏 是 是 高
4 坏 否 是 高
…
… … … …
32 好 否 是 低
33 好 否 否 低
34 好 否 否 低
采用 ID3 算法构建决策树模型的具体步骤如下:
1) 根据公式(11-1),计算总的信息熵,其中数据中总记录数为 34,而销售数量为“高”
的数据有 18,“低”的有 16。
2) 根据公式(11-1)和(11-2),计算每个测试属性的信息熵。
对于天气属性,其属性值有“好”和“坏”两种。其中天气为“好”的条件下,销售数量为
“高”的记录为 11,销售数量为“低”的记录为 6,可表示为(11,6);天气为“坏”的条件下,销售
数量为“高”的记录为 7,销售数量为“低”的记录为 10,可表示为(7,10)。则天气属性的信息
熵计算过程如下:
(天气)
对于是否周末属性,其属性值有“是”和“否”两种。其中是否周末属性为“是”的条件下,
234
《RapidMiner 数据分析与挖掘实战》第 11 章
销售数量为“高”的记录为 11,销售数量为“低”的记录为 3,可表示为(11,3);是否周末属性
为“否”的条件下,销售数量为“高”的记录为 7,销售数量为“低”的记录为 13,可表示为
(7,13)。则节假日属性的信息熵计算过程如下:
(是否周末)
对于是否有促销属性,其属性值有“是”和“否”两种。其中是否有促销属性为“是”的条件
下,销售数量为“高”的记录为 15,销售数量为“低”的记录为 7,可表示为(15,7);其中
是否有促销属性为“否”的条件下,销售数量为“高”的记录为 3,销售数量为“低”的记录为 9,
可表示为(3,9)。则是否有促销属性的信息熵计算过程如下:
(是否有促销)
3) 根据公式(11-3),计算天气、是否周末和是否有促销属性的信息增益值。
(天气) (天气)
(是否周末) (是否周末)
(是否有促销) (是否有促销)
4) 由第 3)步的计算结果可以知道是否周末属性的信息增益值最大,它的两个属性值“是”
和“否”作为该根结点的两个分支。然后按照第 1)步到第 3)步所示步骤继续对该根结
点的三个分支进行结点的划分,针对每一个分支结点继续进行信息增益的计算,如此
235
剩余22页未读,继续阅读
海晏
- 粉丝: 5
- 资源: 36
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0