1、Data Mining Tool Decision Tree(决策树),Jiahuang Ji, Ph.D. CAPST Computer Science and Electronical Engineering Society 中国旅美专家协会计算机与电子工程学会 Computer Science, Sam Houston State University 山姆休士顿州立大学计算机系 2004年12月,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,2,提要,数据挖掘简介
2、决策树的用途 决策树的建立 决策树的数据准备 小结,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,3,数据挖掘简介,谁加何种类型的油?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,4,数据挖掘简介,性别 年龄 种族 家庭人口 家庭收入 申请该校原因 家庭住址 ,学校录取部门的困扰:新生录取以后会不会来报到?,10/13/2018,Data Mining
3、 Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,5,数据挖掘简介,产品名称 产品型号 产品价格 生产厂家 生产国家 出售地点 出售日期,Wal-Mart的销售与供应商,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,6,数据挖掘简介,你能判定他/她买计算机的可能性大不大吗?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D.
4、All Rights Reserved,7,数据挖掘简介,1 我们拥有什么: Huge amount of data (GTE:1TB/day) 2. 我们需要什么: Information and knowledge 3. 我们应该怎么办:Data Mining,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,8,数据挖掘技术 Neural Networks 计算机神经网络 Decision trees决策树 Regression methods Predicate log
5、ic ,数据挖掘简介,各八显仙神过通海,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,9,决策树的用途,决策树是数据挖掘的有力工具之一,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,10,决策树的用途,决策树是数据挖掘的有力工具之一临床决策,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji,
6、 Ph.D. All Rights Reserved,11,决策树的用途,SERVICE,故障诊断,决策树是数据挖掘的有力工具之一,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,12,决策树的用途,假定公司收集了左表数据,那么对于任意给定的客人(测试样例),你能帮助公司将这位客人归类吗? 即:你能预测这位客人是属于“买”计算机的那一类,还是属于“不买”计算机的那一类? 又:你需要多少有关这位客人的信息才能回答这个问题?,决策树可以帮助你解决好这个问题,10/13/2018,
7、Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,13,决策树的用途,谁在买计算机?,他/她会买计算机吗?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,14,决策树的用途,一棵很糟糕的决策树,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,15,决策树的用途,
8、什么是决策树A decision tree is a flow-chart-like tree structure, where each internal node denotes a test on an attribute, each branch represents an outcome of the test, and leaf nodes represent classes or class distributions.,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reser
9、ved,16,决策树的建立,1. 决策树建立的关键 2. 对测试样例的信息期望(The expected information needed to classify a given sample(中文可能称:评价函数) 信息期望 的分析与计算 平均信息期望 信息期望的减少(Gain) 3. 决策树建立步骤(例),10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,17,决策树的建立 - 决策树建立的关键,建立一个好的决策树的关键是决定树根和子树根的属性,10/13/2018,D
10、ata Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,18,决策树的建立 - 决策树建立的关键,年龄,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,19,决策树的建立 - 对测试样例的信息期望,年龄,信息期望=0,信息期望=?,信息期望=?,张三属于哪一类?为了回答该问题,对张三的信息期望值是多少?,信息期望=?,10/13/2018,Data Mining Tool - Decisi
11、on Tree, Jiahuang Ji, Ph.D. All Rights Reserved,20,决策树的建立 - 对测试样例的信息期望,年龄,平均信息期望?,信息期望的减少?,信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,21,决策树的建立 - 对测试样例的信息期望,让我们称所需要研究的属性为“分类属性”。假设该属性共分m类,而它们每一类在数据表中计数的总和分别为s1, s2 , sm。令 s = s1+ s2 + +sm那么对于任一样例,决定它所属类别的
12、信息期望可以用下面的公式来计算:I(s1, s2 , sm) = - pi log2(pi)其中 pi = si /s,信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,22,决策树的建立 - 对测试样例的信息期望,例:左表分类属性:买计算机?该属性共分两类(m=2): 买/不买s1 = 641, s2 = 383s = s1+ s2 = 1024p1 = s1 /s = 641/1024 = 0.6260p2 = s2 /s = 383/1024 = 0.3740
13、I(s1, s2) = I(641, 383) = - (p1 log2(p1) + p2 log2(p2) = 0.9537,信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,23,决策树的建立 - 对测试样例的信息期望,讨论:“买”/“不买”计算机的人数之间的比例对于信息期望值的影响I(641, 383) = 0.9537I(512, 512) = I(4, 4) = 1I(51, 973) = I(973, 51) = 0.2856I(0, 1024) = I
14、(256, 0) = 0I(128, 256) = 0.9183I(257, 127) = 0.9157 信息期望的数值与分类属性中各类计数之间的比例有关 信息期望的数值与计数总数无关,信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,24,决策树的建立 - 对测试样例的信息期望,例:分类属性:加何种油?该属性共分三类(m=3): Regular/Plus/ Supremes1 = 13300, s2 = 7300, s3 = 5200 s = s1+ s2 + s
15、3 = 25800p1 = s1 /s = 13300 / 25800 = 0.5155p2 = s2 /s = 7300 / 25800 = 0.2829p3 = s3 /s = 5200 / 25800 = 0.2016I(s1, s2 , s3) = I(13300, 7300, 5200) = - (p1 log2(p1) + p2 log2(p2) + p3 log2(p3)= 1.4739,信息期望=?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,25,决策树
16、的建立 - 对测试样例的信息期望,讨论:三种汽油购买人数之间的比例对于需解决的信息量的影响I(13300, 7300, 5200) = 1.4739 I(25800, 0, 0) = 0I(0, 10, 0) = 0I(641, 383, 0) = 0.9537I(900, 100, 24) = 0.6183I(64, 64, 64) = 1.5851 当分类属性的种类增加时,对测试样例的信息期望通常也相应增加。,信息期望=?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,
17、26,决策树的建立 - 对测试样例的信息期望,年龄,平均信息期望?,信息期望的减少?,信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,27,决策树的建立 - 对测试样例的信息期望,信息期望的减少(又称Gain) = 信息期望 平均信息期望,基于节点数据表,基于该节点的所有直系分支数据表,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,28,决策树
18、的建立 - 对测试样例的信息期望,平均信息期望,E,是节点各直系分支的信息期望值的加权总和 1. 假定选择年龄作树根节点,则:青年组: I(128,256)=0.9183中年组: I(256,0)=0老年组: I(257,127)=0.9157青年组比例: (128+256)/1024=0.375中年组比例: 256/1024=0.25老年组比例: (257+127)/1024=0.375 平均信息期望(加权总和):E(年龄)= 0.375*0.9183+0.25*0+0.375*0.9157 = 0.6877 Gain(年龄) = I(641, 383)-E(年龄)=0.9537 0.687
19、7 = 0.2660,平均信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,29,决策树的建立 - 对测试样例的信息期望,2. 假定选择收入作树根节点,则:高收入组: I(160,128)=0.9911中收入组: I(289,191)=0.9697低收入组: I(192,64)=0.8133高收入组 比例: 288/1024=0.2813中收入组比例: 480/1024=0.4687低收入组比例: 256/1024=0.25 平均信息期望(加权总和): E(收入)=
20、 0.2813 * 0.9911+ 0.4687 * 0.9697 + 0.25 * 0.8133 = 0.9361 Gain(收入) = I(641, 383)-E(收入)=0.9537 0.9361= 0.0176,平均信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,30,决策树的建立 - 对测试样例的信息期望,3. 假定选择学生作树根节点,则:学生组: I(420,64)=0.5635非学生组: I(221,319)=0.9761学生组比例: 484/102
21、4=0.4727 非学生组比例: 540/1024=0.5273 平均信息期望(加权总和): E(学生)= 0.4727 * 0.5635+ 0.5273 * 0.9761= 0.7811 Gain(学生) = I(641, 383)-E(学生)=0.9537 0.7811= 0.1726,平均信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,31,决策树的建立 - 对测试样例的信息期望,4. 假定选择信誉作树根节点,则:良好组: I(480,192)=0.8631
22、优秀组: I(161,191)=0.9948良好组比例: 672/1024=0.6563 优秀组比例: 352/1024=0.3437 平均信息期望(加权总和):E(信誉)= 0.6563 * 0.8631+ 0.3437 * 0.9948= 0.9048 Gain(信誉) = I(641, 383)-E(信誉)=0.9537 0.9048= 0.0453,平均信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,32,决策树的建立 - 对测试样例的信息期望,决定树根节
23、点E(年龄)= 0.6877, Gain(年龄) = 0.2660E(收入)= 0.9361,Gain(收入) = 0.0176E(学生)= 0.7811,Gain(学生) = 0.1726E(信誉)= 0.9048,Gain(信誉) = 0.0453,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,33,决策树的建立 - 决策树建立步骤,决定分类属性 对目前的数据表,建立一个节点N。 如果数据表中的数据都属于同一类,N就是树叶,在树叶上标上所属的那一类。 如果数据表中没有其
24、他属性可以考虑,N也是树叶,按照少数服从多数的原则在树叶上标上所属类别。 否则,根据平均信息期望值E或Gain值选出一个最佳属性作为节点N的测试属性。 节点属性选定以后,对于该属性的每一个值: 从N生成一个分支, 并将数据表中与该分支有关的数据收集形成分支节点的数据表,在表中删除节点属性那一栏。 如果分支数据表非空,则运用以上算法从该节点建立子树。,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,34,决策树的建立 - 决策树建立步骤(例),年龄,青 中 老,树叶,10/13
25、/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,35,决策树的建立 - 决策树建立步骤(例),年龄,青 中 老,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,36,平均信息期望?,信息期望?,决策树的建立 - 决策树建立步骤(例),平均信息期望(加权总和): E(收入)= 0.3333 * 0 + 0.5 * 0.9183 + 0.1667 * 0 = 0.4592
26、 Gain(收入) = I(128, 256) - E(收入)=0.9183 0.4592 = 0.4591,青年组数据表分析: 1. 假定选择收入作节点 I(128,256) = 0.9183,I(0,128)=0 比例: 128/384=0.3333I(64,128)=0.9183 比例: 192/384=0.5I(64,0)=0 比例: 64/384=0.1667,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,37,信息期望?,决策树的建立 - 决策树建立步骤(例),
27、平均信息期望(加权总和):E(学生)= 0.3333 * 0 + 0.6667 * 0 = 0 Gain(学生) = I(128, 256) - E(学生)=0.9183 0 = 0.9183 结论: 不需要考虑属性信誉,决定选择属性学生,青年组数据表分析: 2. 假定选择学生作节点 I(128,256) = 0.9183,I(128,0)=0 比例: 128/384=0.3333I(0,256)=0 比例: 256/384=0.6667,平均信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Ri
28、ghts Reserved,38,决策树的建立 - 决策树建立步骤(例),年龄,青 中 老,学生,否 是,树叶,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,39,决策树的建立 - 决策树建立步骤(例),年龄,青 中 老,学生,否 是,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,40,信息期望?,决策树的建立 - 决策树建立步骤(例),平均信息期望(加
29、权总和):E(收入)= 0.3333 * 1 + 0.6667 * 0.8050 = 0.8700 Gain(收入) = I(257, 127) - E(收入)=0.9157 0.8700 = 0.0457,老年组数据表分析: 1. 假定选择收入作节点 I(257,127) = 0.9157,I(64,64)=1 比例: 128/384=0.3333I(193,63)=0.8050 比例: 256/384=0.6667,平均信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reser
30、ved,41,信息期望?,决策树的建立 - 决策树建立步骤(例),平均信息期望(加权总和):E(学生)= 0.6771 * 0.8051 + 0.3229 * 0.9998 = 0.8680 Gain(学生) = I(257, 127) - E(学生)=0.9157 0.8680= 0.0477,老年组数据表分析: 2. 假定选择学生作节点 I(257,127) = 0.9157,I(196,64)=0.8051 比例: 260/384=0.6771 I(61,63)=0.9998 比例: 124/384=0.3229,平均信息期望?,10/13/2018,Data Mining Tool -
31、 Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,42,信息期望?,决策树的建立 - 决策树建立步骤(例),平均信息期望(加权总和):E(信誉)= 0.6667 * 0 + 0.3333 * 0.0659 = 0.0220 Gain(信誉) = I(257, 127) - E(信誉)=0.9157 0.0220 = 0.8937 结论: 决定选择属性信誉,老年组数据表分析: 3. 假定选择信誉作节点 I(257,127) = 0.9157,I(256,0)=0 比例: 256/384=0.6667 I(1,127)=0.0659 比例
32、: 128/384=0.3333,平均信息期望?,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,43,决策树的建立 - 决策树建立步骤(例),年龄,青 中 老,学生,否 是,信誉,优 良,树叶,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,44,决策树的建立 - 决策树建立步骤(例),年龄,青 中 老,学生,否 是,信誉,优 良,10/13/2018,D
33、ata Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,45,决策树的建立 - 讨论,信息期望值(评价函数)的其他计算方法min(p1, p2, , pm ) m * (p1* p2* *pm ) p1 log(p1) + p2 log(p2) + + pm log(pm) 他们的共同特点:当数据对所考察的归类属性均匀分布的时候,绝对值最大,当有一类个数为零时,值为零。 决策树的剪枝 决策树的优化,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang J
34、i, Ph.D. All Rights Reserved,46,决策树的数据准备,原始数据表,整理以后的数据表,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,47,决策树的数据准备,Data cleaning删除/减少noise,补填missing values Data transformation数据标准化(data normalization)数据归纳(generalize data to higher-level concepts using concept hie
35、rarchies)例如:年龄归纳为老、中、青三类控制每个属性的可能值不超过七种(最好不超过五种) Relevance analysis对于与问题无关的属性:删对于属性的可能值大于七种又不能归纳的属性:删,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,48,Conclusion (杂谈),麻省理工学院科技评论: Data Ming 是改变这个世界的十大高新技术之一 Usama Fayyad, CEO, DigiMine Data Mining 能够为电子商务挖出黄金决策树是数
36、据挖掘的有力工具之一,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,49,Conclusion (杂谈) - Data Mining的公司与产品,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,50,Conclusion (杂谈) - digiMine的客户,故障诊断起家,10/13/2018,Data Mining Tool - Decision Tre
37、e, Jiahuang Ji, Ph.D. All Rights Reserved,51,Conclusion (杂谈),这个世界上每天产生的新数据速度惊人 Data Mining就是要从数据中挖出知识超出人的脑力所及的知识 每天都有公司破产,每年都有公司崛起,公司间的竞争之一将是Data Mining的能力的竞争 我们每个人都自觉不自觉地为产生数据而奉献,而这些数据又成为控制我们的工具 当信息控制人类的时候,人类就进入了信息时代,10/13/2018,Data Mining Tool - Decision Tree, Jiahuang Ji, Ph.D. All Rights Reserved,52,Recommendation,Jiawei Han etc. Data Mining: Concepts and Techniques, Morgan Kaufmann PublisherThank You,