决策树方法应用实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生 信用等级 类别:购买电脑
否 否 否 否 是 是 是 否 是 是 是 否 是 否 一般 良好 一般 一般 一般 良好 良好 一般 一般 一般 良好 良好 一般 良好 不会购买 不会购买 会购买 会购买 会购买 不会购买 会购买 不会购买 会购买 会购买 会购买 会购买 会购买 不会购买
• 解:由题意可知: • s=14,类标号属性“购买电脑”有两个不同值(即{会购买,不会 购买}),因此有两个不同的类(即m=2)。设类C1对应于“会购买”, 类C2对应于“不会购买”。则s1=9,s2=5,p1=9/14,p2=5/14。 • ①计算对给定样本分类所需的期望信息: 2 9 9 5 5 I s1 , s2 I 9,5 pi log 2 pi log 2 log 2 0.940 14 14 14 14 i 1 • ②计算每个属性的熵。 • 先计算属性“年龄”的熵。 • 对于年龄=“<=30”:s11=2,s21=3,p11=2/5,p21=3/5, 2 2 3 3 I s11 , s21 I 2, 3 log 2 log 2 0.971 5 5 5 5 • • 对于年龄=“31…40”: s12=4,s22=0,p12=4/4=1,p22=0, • 4
论文中的应用
• 例:构造决策树。 下表给出了取自AllElectronics顾客数据库元组训练集。
编号
1 2 3 4 5 6 7 8 9 10 11 12 13 14
年龄
<=30 <=30 31…40 >40 >40 >40 31…40 <=30 <=30 >40 <=30 31…40 31…40 >40
收入
高 高 高 中等 低 低 低 中等 低 中等 中等 中等 高 中等
• 对于收入=“中等”: s12=1,s22=1,p12=1/2,p22=1/2,
2 2 I s11 , s21 I 0, 2 log 2 0 2 2
1 1 1 1 I s12 , s22 I 1,1 log 2 log 2 1 2 2 2 2
• 对于信用等级=“良好”:s12=1,s22=1,p12=1/2,p22=1/2,
1 1 1 1 I s12 , s22 I 1,1 log 2 log 2 1 2 2 2 2 如果样本按“信用等级”划分,对一个给定的样本分类所需的期望信息 为:
•
3 2 E 信用等级 I s11 , s21 I s12 , s22 0.951 5 5
>40
学 生?
否 不会购买
信用等级?
良好 不会购买 一般 会购买
是
会购买
“购买电脑” 的决策树
由决策树产生分类规则
对上图进行分析,提取的关联规则是:
• IF 年龄=“<=30” AND 学生=“否”
• IF 年龄=“<=30” AND 学生=“是” • IF 年龄=“31...40”
THEN 购买电脑=“不会购买”
I s12 , s22 I 4, 0
4
log 2 1 0 0
• 对于年龄=“>40”:s13=3,s23=2,p13=3/5,p23=2/5, 3 3 2 2 I s13 , s23 I 3, 2 log 2 log 2 0.971 5 5 5 5 • 如果样本按“年龄”划分,对一个给定的样本分类所需的期望信息为: 5 4 5 E 年龄 I s11 , s21 I s12 , s22 I s13 , s23 0.694 14 14 14 • 因此,这种划分的信息增益是 • Gain(年龄)=I(s1,s2) - E(年龄)=0.246。 • 计算“收入”的熵。 • 对于收入=“高”: s11=2,s21=2,p11=0.5,p21=0.5, 2 2 2 2 I s11 , s21 I 2, 2 log 2 log 2 1 4 4 4 4 • 对于收入=“中等”: s12=4,s22=2,p12=4/6,p22=2/4, 4 4 2 2 I s12 , s22 I 4, 2 log 2 log 2 0.918 6 6 6 6
• 因此,这种划分的信息增益是 • Gain(收入)=I(s1,s2) - E(收入)=0.971-0.0.4=0.571。
• 计算“学生”的熵。 • 对于学生=“是”:s11=2,s21=0,p11=1,p21=0,
2 2 I s11 , s21 I 2, 0 log 2 0 2 2
年龄
<=30 收入 学生 信用等级
高 高 中等 低 中等 否 否 否 是 是 一般 良好 一般 一般 良好
31…40
>40
类
不会购买 不会购买 不会购买 会购买 会购买
收入
中等 低 低 中等 中等
学生
否 是 是 是 否
信用等级 类
一般 一般 良好 一般 良好 会购买 会购买 不会购买 会购买 不会购买
THEN 购买电脑=“会购买”
THEN 购买电脑=“会购买”
• IF 年龄=“>40” AND 信用等级=“良好” THEN 购买电脑=“不会购 买”
• IF 年龄=“>40” AND 信用等级=“一般” THEN 购买电脑=“会购买”
论文中的应用
• 题目:决策树算法的研究与应用 作者:杨静1,张楠男2,李建1,刘延明1,梁美红1 (1.西南石油大学,四川成都610500; 2.西南油气田分公司信息中心,四川成都610500) 发表期刊: 计算机技术与发展 第20卷.第2期 2010年2月 摘要:主要研究了数据挖掘中决策树算法的基本思想和算法。针对目前 钻井过程故障诊断的需求,结合决策树算法的特点,提出了一种基于决策 树的钻井过程故障诊断专家系统模型。分析了钻井系统事故状态下的相关 特征参数,并对基于决策树的钻井过程状态和知识获取进行了详细的论述。 通过实例运用ID3算法实现了决策树的建立,为钻井过程故障诊断奠定了坚 实的基础。最后提出了对算法的改进,综合对实际数据的处理结果表明, 基于数据挖掘的决策树算法可以很好地识别钻井过程中的不同状态,能够 实现故障诊断。
收入 学生
高 低 中等 高 否 是 否 是
信用等级
一般 良好 良好 一般
类
会购买 会购买 会购买 会购买
表1 年龄<=30
收入 学生
高 高 中等 低 中等 否 否 否 是 是
信用等级 类
一般 良好 一般 一般 良好 不会购买 不会购买 不会购买 会购买 会购买
• 当年龄<=30时,对应于表1。S=5,设类C1对应于“会购买”,类 C2对应于“不会购买”。则s1=2,s2=3,p1=2/5,p2=3/5。 • ①计算对给定样本分类所需的期望信息:
• 对于收入=“低”: s13=1,s23=0,p13=1,p23=0,
I s13 , s23 I 1 0 0 ,
• 如果样本按“收入”划分,对一个给定的样本分类所需的期望信息为:
2 2 1 E 收入 I s11 , s21 I s12 , s22 I s13 , s23 0.4 5 5 5
• 对于学生=“否”: s12=0,s22=3,p12=0,p22=1,
I s12 , s22 I 0, 3 0
• 如果样本按“学生”划分,对一个给定的样本分类所需的期望信息为:
2 3 E 学生 I s11 , s21 I s12 , s22 0 5 5
信用等级 类
一般 一般 良好 一般 良好 会购买 会购买 不会购买 会购买 不会购买
• 同理,对表2进行计算。得出属性“信用等级”具有最高信息增益, 它被选作测试属性。创建一个节点,用“信用等级”标记,并对每 个属性值引出一个分支。 • 最终构造的决策树如下图所示。
年 龄?
<=30 31…40
会购买
• 对于收入=“低”: s13=3,s23=1,p13=3/4,p23=1/4,
3 3 1 1 log 2 log 2 0.811 4 4 4 4 如果样本按“收入”划分,对一个给定的样本分类所需的期望信息为: I s13 , s23 I 3,1
•
4 6 4 E 收入 I s11 , s21 I s12 , s22 I s13 , s23 0.911 14 14 14
• 因此,这种划分的信息增益是 • Gain(学生)=I(s1,s2) - E(学生)=0.940-0.789=0.151。
7 7 I s11 , s21 I s12 , s22 0.789 14 14
• 计算“信用等级”的熵。 • 对于信用等级=“一般”: s11=6,s21=2,p11=6/8,p21=2/8, 6 6 2 2 I s11 , s21 I 6, 2 log 2 log 2 0.811 8 8 8 8 • 对于信用等级=“良好”: s12=3,s22=3,p12=3/6,p22=3/6, 3 3 3 3 I s12 , s22 I 3, 3 log 2 log 2 1 6 6 6 6
• 因此,这种划分的信息增益是 • Gain(收入)=I(s1,s2) - E(收入)=0.940-0.911=0.029。 • 计算“学生”的熵。 • 对于学生=“是”:s11=6,s21=1,p11=6/7,p21=1/7, 6 6 1 1 I s11 , s21 I 6,1 log 2 log 2 0.592 7 7 7 7
ห้องสมุดไป่ตู้
• 如果样本按“信用等级”划分,对一个给定的样本分类所需的期望信 息为: 8 6 E 信用等级 I s11 , s21 I s12 , s22 0.892 14 14 • 因此,这种划分的信息增益是 • Gain(信用等级)=I(s1,s2) - E(信用等级)=0.940-0.892=0.048。 • 由于 “年龄” 属性具有最高信息增益,它被选作测试属性。创建一个 节点,用“年龄”标记,并对每个属性值引出一个分支。样本据此划 分,如图所示。
• 对于学生=“否”: s12=3,s22=4,p12=3/7,p22=4/7,
I s12 , s22 I 3, 4
E 学生
3 3 4 4 log 2 log 2 0.985 7 7 7 7
• 如果样本按“学生”划分,对一个给定的样本分类所需的期望信息为:
• 因此,这种划分的信息增益是
•
Gain(学生)=I(s1,s2) - E(学生)=0.971-0=0.971。
• 计算“信用等级”的熵。 • 对于信用等级=“一般”:s11=1,s21=2,p11=1/3,p21=2/3,
1 1 2 I s11 , s21 I 1, 2 log 2 log 2 0.918 3 3 3
• 因此,这种划分的信息增益是
• Gain(信用等级)=I(s1,s2) - E(信用等级)=0.971-0.951=0.02。
• 由于 “学生” 属性具有最高信息增益,它被选作测试属性。创建 一个节点,用“学生”标记,并对每个属性值引出一个分支。
表2 年龄>40
收入
中等 低 低 中等 中等
学生
否 是 是 是 否
• ②计算每个属性的熵。
2 2 3 3 I s1 , s2 I 2,3 pi log 2 pi log 2 log 2 0.971 5 5 5 5 i 1
2
• 先计算属性“收入”的熵。
• 对于收入=“高”:s11=0,s21=2,p11=0,p21=1,