python数据挖掘实验报告_数据挖掘实验报告-决策树程序实验
E(S)=(-9/15)log2(9/15)-(6/15)log2(6/15)=0.971Values(收入范围)={20-30K,30-40k,40-50K,50-60K}E(S(20-30K))= (-2/4)log2(2/4)- (2/4)log2(2/4)=1E(S(30-40K))= (-4/5)log2(4/5)- (1/5)log2(1/5)=0.7219E(S(40-50K))=
E(S)=(-9/15)log2(9/15)-(6/15)log2(6/15)=0.971
Values(收入范围)={20-30K,30-40k,40-50K,50-60K}
E(S(20-30K))= (-2/4)log2(2/4)- (2/4)log2(2/4)=1
E(S(30-40K))= (-4/5)log2(4/5)- (1/5)log2(1/5)=0.7219
E(S(40-50K))= (-1/4)log2(1/4)- (3/4)log2(3/4)=0.8113
E(S(50-60K))= (-2/2)log2 (2/2)- (0/2)log2(0/2)=0
所以
E(S,收入范围)=(4/15) E(S(20-30K)) +(5/15) E(S(30-40K)) +(4/15) E(S(40-50K)) +(2/15) E(S(50-60K))=0.7236
Gain(S,收入范围)=0.971-0.7236=0.2474
同理:计算“保险”,“性别”,“年龄”的信息增益为:
E(S)=(-9/15)log2(9/15)-(6/15)log2(6/15)=0.971
Insurance(保险)={yes, no}
E(S(yes))= (-3/3)log2 (3/3)- (0/3)log2(0/3)=0
E(S(no))= (-6/12)log2 (6/12)- (6/12)log2(6/12)=1
E(S,保险)=(3/15) E(S(yes)) +(12/15) E(S(no)) =0.8
Gain(S,保险)=0.971-0.8=0.171
E(S)=(-9/15)log2(9/15)-(6/15)log2(6/15)=0.971
sex(性别)={male, female}
E(S(male))= (-3/7)log2 (3/7)- (4/7)log2(4/7)=0.9852
E(S(female))= (-6/8)log2 (6/8)- (2/8)log2(2/8)=0.8113
E(S,性别)=(7/15) E(S(male)) +(8/15) E(S(female)) =0.8925
Gain(S,性别)=0.971-0.8925=0.0785
E(S)=(-9/15)log2(9/15)-(6/15)log2(6/15)=0.971
age(年龄)={15~40,41 ~60}
E(S(15~40))= (-6/7)log2 (6/7)- (1/7)log2(1/7)=0.5917
E(S(41 ~60))= (-3/8)log2 (3/8)- (5/8)log2(5/8)=0.9544
E(S,年龄)=(7/15) E(S(15~40)) +(8/15) E(S(41 ~60)) =0.7851
Gain(S,年龄)=0.971-0.7851=0.1859
三、模型评价
基于决策树的分类算法的一个最大的优点就是她在学习过程中不需要使用者了解很多背景知识(这同时也是它的最大的缺点),只要训练例子能够用属性-结论式表示出来,就能使用该算法来学习。
在ID3算法的假设空间包含所有的决策树,它是关于现有属性的有限离散值函数的一个完整空间。因为每个有限离散值函数可被表示为某个决策树,所以ID3算法避免了搜索不完整假设空间的一个主要风险:假设空间可能不包含目标函数。
ID3算法只能处理离散值的属性。首先,学习到的决策树要预测的目标属性必须是离散的,其次树的决策结点的属性也必须是离散的。[2]
四、参考文献
[1]李雄飞李军,《数据挖掘与知识发现》,北京:高等教育出版社,2003。
[2]毛国君段立娟王实石云,《数据挖掘原理与算法》,北京:清华大学出版社,2005。
更多推荐
所有评论(0)