例:构造决策树。
下表给出了取自AllElectronics顾客数据库元组训练集。
编号
年龄
收入
学生
信用等级
类别:购买电脑
1
<=30
高
否
一般
不会购买
2
<=30
高
否
良好
不会购买
3
31…40
高
否
一般
会购买
4
>40
中等
否
一般
会购买
5
>40
低
是
一般
会购买
6
>40
低
是
良好
不会购买
7
31…40
低
是
良好
会购买
8
<=30
中等
否
一般
不会购买
9
<=30
低
是
一般
会购买
10
>40
中等
是
一般
会购买
11
<=30
中等
是
良好
会购买
12
31…40
中等
否
良好
会购买
13
31…40
高
是
一般
会购买
14
>40
中等
否
良好
不会购买
解:由题意可知:
s=14,类标号属性“购买电脑”有两个不同值(即{会购买,不会购买}),因此有两个不同的类(即m=2)。设类C1对应于“会购买”,类C2对应于“不会购买”。则s1=9,s2=5,p1=9/14,p2=5/14。
①计算对给定样本分类所需的期望信息:
②计算每个属性的熵。
先计算属性“年龄”的熵。
对于年龄=“<=30”:s11=2,s21=3,p11=2/5,p21=3/5,
对于年龄=“31…40”: s12=4,s22=0,p12=4/4=1,p22=0,
对于年龄=“>40”:s13=3,s23=2,p13=3/5,p23=2/5,
如果样本按“年龄”划分,对一个给定的样本分类所需的期望信息为:
因此,这种划分的信息增益是
Gain(年龄)=I(s1,s2) - E(年龄)=。
计算“收入”的熵。
对于收入=“高”: s11=2,s21=2,p11=,p21=,
对于收入=“中等”: s12=4,s22=2,p12=4/6,p22=2/4,
对于收入=“低”: s13=3,s23=1,p13=3/4,p23=1/4,
如果样本按“收入”划分,对一个给定的样本分类所需的期望信息为:
因此,这种划分的信息增益是
Gain(收入)=I(s1,s2) - E(收入)=-=。
计算“学生”的熵。
对于学生=“是”:s11=6,s21=1,p11=6/7,p21=1/7,
对于学生=“否”: s12=3,s22=4,p12=3/7,p22=4/7,
如果样本按“学生”划分,对一个给定的样本分类所需的期望信息为:
因此,这种划分的信息增益是
Gain(学生)=I(s1,s2) - E(学生)=-=。
计算“信用等级”的熵。
对于信用等级=“一般”: s11=6,s21=2,p11=6/8,p21=2/8,
对于信用等级=“良好”: s12=3,s22=3,p12=3/6,p22=3/6,
如果样本按“信用等级”划分,对一个给定的样本分类所需的期望信息为:
因此,这种划分的信息增益是
Gain(信用等级)=I(s1,s2) - E(信用等级)=-=。
由于“年龄”属性具有最高信息增益,它被选作测试属性。创建一个节点,用“年龄”标记,并对每个属性值引出一个分支。样本据此划分,如图所示。
收入
学生
信用等级
类
高
否
一般
会购买
低
是
良好
会购买
中等
否
良好
会购买
高
是
一般
会购买
收入
学生
信用等级
类
高
否
一般
不会购买
高
否
良好
不会购买
中等
否
一般
不会购买
低
是
一般
会购买
中等
是
良好
会购买
收入
学生
信用等级
类
中等
否
一般
会购买
低
是
一般
会购买
低
是
良好
不会购买
中等
是
一般
会购买
中等
否
良好
不会购买
<=30
31…40
>40
年龄
收入
学生
信用等级
类
高
否
一般
不会购买
高
否
良好
不会购买
中等
否
一般
不会购买
低
是
一般
会购买
中等
是
良好
会购买
表1 年龄<=30
当年龄<=30时,对应于表1。S=5,设类C1对应于“会购买”,类C2对应于“不会购买”。则s1=2,s2=3,p1=2/5,p2=3/5。
①计算对给定样本分类所需的期望信息:
②计算每个属性的熵。
先计算属性“收入”的熵。
对于收入=“高”:s11
决策树方法应用实例 来自淘豆网www.taodocs.com转载请标明出处.