当前位置:   article > 正文

数据仓库作业六:第9章 分类规则挖掘

数据仓库作业六:第9章 分类规则挖掘


第9章 分类规则挖掘

第一题

1、设网球俱乐部有打球与气候条件的历史统计数据如下表1所示。它有“天气”、“气温”、“适度”和“风力”4个描述气候的条件属性,类别属性为“是”与“否”的二元取值,分别表示在当时的气候条件下是否适宜打球的两种类别。

表1 打球与气候情况的历史数据样本集S
样本id天气温度湿度风力类别样本id天气温度湿度风力类别
X 1 X_1 X1 X 8 X_8 X8
X 2 X_2 X2 X 9 X_9 X9
X 3 X_3 X3 X 10 X_{10} X10
X 4 X_4 X4 X 11 X_{11} X11
X 5 X_5 X5 X 12 X_{12} X12
X 6 X_6 X6 X 13 X_{13} X13
X 7 X_7 X7 X 14 X_{14} X14

S S S 中的任意两个数据对象 X , Y X,Y X,Y,定义其在4个条件属性上的相异度为 d ( X , Y ) = ∑ j = 1 r δ ( x j , y j ) d(X,Y)=\sum_{j=1}^r\delta(x_j,y_j) d(X,Y)=j=1rδ(xj,yj) 其中 x j , y j x_j,y_j xj,yj 是数据对象 X , Y X,Y X,Y 的第 j j j 个分量值;如果 x j = y j x_j=y_j xj=yj δ ( x j , y j ) = 0 \delta(x_j,y_j)=0 δ(xj,yj)=0,否则 δ ( x j , y j ) = 1 \delta(x_j,y_j)=1 δ(xj,yj)=1

根据天气预报得知,后天的天气情况 X H = ( 雨、高、小、无 ) X_H=(雨、高、小、无) XH=(雨、高、小、无),若令,请用 k k k-最近邻分类算法预测后天是否适合打球。

解:

首先,计算相异度。根据提供的相异度定义,可以使用欧氏距离来计算相异度。欧氏距离的计算公式如下所示:
d ( p , q ) = ( p 1 − q 1 ) 2 + ( p 2 − q 2 ) 2 + ( p 3 − q 3 ) 2 + ( p 4 − q 4 ) 2 d(\mathbf{p}, \mathbf{q}) = \sqrt{(p_1 - q_1)^2 + (p_2 - q_2)^2 + (p_3 - q_3)^2 + (p_4 - q_4)^2} d(p,q)=(p1q1)2+(p2q2)2+(p3q3)2+(p4q4)2

其中 ( p i p_i pi) 和 ( q i q_i qi) 分别是两个数据对象在第 ( i i i) 个属性上的取值。现在开始计算相异度。对于样本中的每个数据对象,将其表示为一个向量,其中每个分量对应于一个条件属性。然后,使用欧氏距离计算每对数据对象之间的相异度。接下来,将根据计算得到的相异度找出与后天天气情况最相似的 k 个样本,以进行预测。

计算后天天气情况(雨、高、小、无)与每个样本之间的相异度。现在,让计算后天天气情况(雨、高、小、无)与每个样本之间的相异度。使用欧氏距离公式来计算相异度:
d ( p , q ) = ( p 1 − q 1 ) 2 + ( p 2 − q 2 ) 2 + ( p 3 − q 3 ) 2 + ( p 4 − q 4 ) 2 d(\mathbf{p}, \mathbf{q}) = \sqrt{(p_1 - q_1)^2 + (p_2 - q_2)^2 + (p_3 - q_3)^2 + (p_4 - q_4)^2} d(p,q)=(p1q1)2+(p2q2)2+(p3q3)2+(p4q4)2

其中,( p \mathbf{p} p) 表示后天天气情况,( q \mathbf{q} q) 表示样本数据中的每个数据对象。

后天天气情况为:天气=雨,温度=高,湿度=小,风力=无。现在,计算后天天气情况与每个样本之间的相异度。先将后天的天气情况表示为向量:
p H = ( 雨 , 高 , 小 , 无 ) \mathbf{p_{\text{H}}} = (雨, 高, 小, 无) pH=(,,,)

然后,逐个计算后天天气情况与每个样本之间的相异度。将每个样本的条件属性值代入欧氏距离公式中,并计算相异度。下面是计算结果:
d ( p H , q 1 ) = ( 雨 − 晴 ) 2 + ( 高 − 高 ) 2 + ( 小 − 大 ) 2 + ( 无 − 无 ) 2   = 1 2 + 0 2 + 1 2 + 0 2   = 2   ≈ 1.414   d ( p H , q 2 ) = ( 雨 − 晴 ) 2 + ( 高 − 高 ) 2 + ( 小 − 大 ) 2 + ( 无 − 无 ) 2   = 1 2 + 0 2 + 1 2 + 0 2   = 2   ≈ 1.414   d ( p H , q 3 ) = ( 雨 − 云 ) 2 + ( 高 − 高 ) 2 + ( 小 − 大 ) 2 + ( 无 − 无 ) 2   = 1 2 + 0 2 + 1 2 + 0 2   = 2   ≈ 1.414   d ( p H , q 4 ) = ( 雨 − 雨 ) 2 + ( 高 − 中 ) 2 + ( 小 − 大 ) 2 + ( 无 − 无 ) 2   = 0 2 + 1 2 + 1 2 + 0 2   = 2   ≈ 1.414 d ( p H , q 5 ) = ( 雨 − 雨 ) 2 + ( 高 − 低 ) 2 + ( 小 − 小 ) 2 + ( 无 − 无 ) 2   = 0 2 + 1 2 + 0 2 + 0 2   = 1 d ( p H , q 6 ) = ( 雨 − 雨 ) 2 + ( 高 − 低 ) 2 + ( 小 − 小 ) 2 + ( 无 − 有 ) 2   = 0 2 + 1 2 + 0 2 + 1 2   = 2   ≈ 1.414 d ( p H , q 7 ) = ( 雨 − 云 ) 2 + ( 高 − 低 ) 2 + ( 小 − 小 ) 2 + ( 无 − 有 ) 2   = 1 2 + 1 2 + 0 2 + 1 2   = 3   ≈ 1.732 d ( p H , q 8 ) = ( 雨 − 晴 ) 2 + ( 高 − 中 ) 2 + ( 小 − 大 ) 2 + ( 无 − 无 ) 2   = 1 2 + 1 2 + 1 2 + 0 2   = 3   ≈ 1.732 d ( p H , q 9 ) = ( 雨 − 晴 ) 2 + ( 高 − 低 ) 2 + ( 小 − 小 ) 2 + ( 无 − 无 ) 2   = 1 2 + 1 2 + 0 2 + 0 2   = 2   ≈ 1.414 d ( p H , q 10 ) = ( 雨 − 雨 ) 2 + ( 高 − 中 ) 2 + ( 小 − 小 ) 2 + ( 无 − 无 ) 2   = 0 2 + 1 2 + 0 2 + 0 2   = 1 d ( p H , q 11 ) = ( 雨 − 晴 ) 2 + ( 高 − 中 ) 2 + ( 小 − 小 ) 2 + ( 无 − 有 ) 2   = 1 2 + 1 2 + 0 2 + 1 2   = 2   ≈ 1.414 d ( p H , q 12 ) = ( 雨 − 云 ) 2 + ( 高 − 中 ) 2 + ( 小 − 大 ) 2 + ( 无 − 有 ) 2   = 1 2 + 1 2 + 1 2 + 1 2   = 2 d ( p H , q 13 ) = ( 雨 − 云 ) 2 + ( 高 − 高 ) 2 + ( 小 − 小 ) 2 + ( 无 − 无 ) 2   = 1 2 + 0 2 + 0 2 + 0 2   = 1 d ( p H , q 14 ) = ( 雨 − 雨 ) 2 + ( 高 − 中 ) 2 + ( 小 − 大 ) 2 + ( 无 − 有 ) 2   = 0 2 + 1 2 + 1 2 + 1 2   = 3   ≈ 1.732 d(pH,q1)=()2+()2+()2+()2 =12+02+12+02 =2 1.414 d(pH,q2)=()2+()2+()2+()2 =12+02+12+02 =2 1.414 d(pH,q3)=()2+()2+()2+()2 =12+02+12+02 =2 1.414 d(pH,q4)=()2+()2+()2+()2 =02+12+12+02 =2 1.414d(pH,q5)=()2+()2+()2+()2 =02+12+02+02 =1d(pH,q6)=()2+()2+()2+()2 =02+12+02+12 =2 1.414d(pH,q7)=()2+()2+()2+()2 =12+12+02+12 =3 1.732d(pH,q8)=()2+()2+()2+()2 =12+12+12+02 =3 1.732d(pH,q9)=()2+()2+()2+()2 =12+12+02+02 =2 1.414d(pH,q10)=()2+()2+()2+()2 =02+12+02+02 =1d(pH,q11)=()2+()2+()2+()2 =12+12+02+12 =2 1.414d(pH,q12)=()2+()2+()2+()2 =12+12+12+12 =2d(pH,q13)=()2+()2+()2+()2 =12+02+02+02 =1d(pH,q14)=()2+()2+()2+()2 =02+12+12+12 =3 1.732

d(pH,q1)d(pH,q2)d(pH,q3)d(pH,q4)d(pH,q5)d(pH,q6)d(pH,q7)d(pH,q8)d(pH,q9)d(pH,q10)d(pH,q11)d(pH,q12)d(pH,q13)d(pH,q14)=()2+()2+()2+()2  =12+02+12+02  =2  1.414 =()2+()2+()2+()2  =12+02+12+02  =2  1.414 =()2+()2+()2+()2  =12+02+12+02  =2  1.414 =()2+()2+()2+()2  =02+12+12+02  =2  1.414=()2+()2+()2+()2  =02+12+02+02  =1=()2+()2+()2+()2  =02+12+02+12  =2  1.414=()2+()2+()2+()2  =12+12+02+12  =3  1.732=()2+()2+()2+()2  =12+12+12+02  =3  1.732=()2+()2+()2+()2  =12+12+02+02  =2  1.414=()2+()2+()2+()2  =02+12+02+02  =1=()2+()2+()2+()2  =12+12+02+12  =2  1.414=()2+()2+()2+()2  =12+12+12+12  =2=()2+()2+()2+()2  =12+02+02+02  =1=()2+()2+()2+()2  =02+12+12+12  =3  1.732

接下来,找出与后天天气情况最相似的 k 个样本。

假设选择 k=3,即找出与后天天气情况最相似的三个样本。根据之前计算的相异度,可以列出相异度最小的三个样本。

样本 X 5 X_5 X5: 相异度为 1;样本 X 10 X_{10} X10: 相异度为 1;样本 X 13 X_{13} X13: 相异度为 1。因此,与后天天气情况最相似的三个样本是 X 5 X_5 X5 X 10 X_{10} X10 X 13 X_{13} X13

最后,将根据这三个样本的类别来预测后天是否适合打球。在这三个样本中,类别为“是”,所以可以预测后天适合打球。

第二题

2、设有动物分类样本集如下表2,其中是否温血、有无羽毛、有无毛皮、会否游泳为条件属性,卵生动物类别属性,取值1表示该动物为卵生动物,0表示非卵生动物。试用ID3算法对样本集进行学习并生成其决策树,再由决策树获得动物的分类规则。

表2 数据集S有8个带类别标号的数据对象
动物id是否温血有无羽毛有无毛皮会否游泳是否卵生
X 1 X_1 X111001
X 2 X_2 X200011
X 3 X_3 X311001
X 4 X_4 X411001
X 5 X_5 X510010
X 6 X_6 X610100

解:

第一步:选择 S S S 增益最大的属性构造决策树的根结点。

(1)计算分类属性 C C C 的分类信息熵

已知 S = { X 1 , X 2 , … , X 6 } S=\{X_1,X_2,…,X_6\} S={X1,X2,,X6}共有6个样本点,故 ∣ S ∣ = 6 |S|=6 S=6,而分类属性 C = { 1 , 0 } = { C 1 , C 2 } C=\{1, 0\}=\{C_1,C_2\} C={1,0}={C1,C2},即 C 1 C_1 C1 为 “1” 是卵生动物, C 2 C_2 C2 为 “0” 是非卵生动物, C 1 = { X 1 , X 2 , X 3 , X 4 } C_1=\{X_1, X_2, X_3, X_4\} C1={X1,X2,X3,X4}, C 2 = { X 5 , X 6 } C_2=\{X_5, X_6\} C2={X5,X6}

根据信息熵公式有 E ( S , C ) = − ∑ i = 1 2 ∣ C i ∣ ∣ S ∣ log ⁡ 2 ∣ C i ∣ ∣ S ∣ = − ( 4 6 log ⁡ 2 4 6 + 2 6 log ⁡ 2 2 6 ) ≈ 0.918 E(S,C)=-\sum_{i=1}^{2}\frac{|C_i|}{|S|}\log_2\frac{|C_i|}{|S|}=-\left(\frac{4}{6}\log_2\frac{4}{6}+\frac{2}{6}\log_2\frac{2}{6}\right) \approx 0.918 E(S,C)=i=12SCilog2SCi=(64log264+62log262)0.918

(2)计算每个条件属性 A A A 相对 C C C 的信息熵

样本集 S S S 有是否温血、有无羽毛、有无毛皮、会否游泳等4个条件属性,因此,应分别计算它们相对 C C C 的分类信息熵。

① 当 A 1 A_1 A1=“是否温血” 时,属性 A 1 A_1 A1 S S S 划分为 S 1 = { X 1 , X 3 , X 4 , X 5 , X 6 } S_1=\{X_1, X_3, X_4, X_5, X_6\} S1={X1,X3,X4,X5,X6} S 2 = { X 2 } S_2=\{X_2\} S2={X2}

因为 C 1 ∩ S 1 = { X 1 , X 3 , X 4 } C_1\cap S_1 =\{X_1, X_3,X_4\} C1S1={X1,X3,X4} C 2 ∩ S 1 = { X 5 , X 6 } C_2\cap S_1=\{X_5, X_6\} C2S1={X5,X6},根据信息熵公式有 E ( S 1 , C ) = − ∑ i = 1 2 ∣ C i ∩ S 1 ∣ ∣ S 1 ∣ log ⁡ 2 ( ∣ C i ∩ S 1 ∣ ∣ S 1 ∣ ) = − ( 3 5 log ⁡ 2 3 5 + 2 5 log ⁡ 2 2 5 ) ≈ 0.971 E(S_1,C)=-\sum_{i=1}^{2}\frac{|C_i\cap S_1|}{|S_1|}\log_2\left(\frac{|C_i\cap S_1|}{|S_1|}\right)=-\left(\frac{3}{5}\log_2\frac{3}{5}+\frac{2}{5}\log_2\frac{2}{5}\right) \approx 0.971 E(S1,C)=i=12S1CiS1log2(S1CiS1)=(53log253+52log252)0.971 同理有 C 1 ∩ S 2 = { X 2 } C_1\cap S_2 =\{X_2\} C1S2={X2} C 2 ∩ S 2 = ∅ C_2\cap S_2=\varnothing C2S2=,根据信息熵公式有 E ( S 2 , C ) = − ∑ i = 1 2 ∣ C i ∩ S 2 ∣ ∣ S 2 ∣ log ⁡ 2 ( ∣ C i ∩ S 2 ∣ ∣ S 2 ∣ ) = − ( 1 1 log ⁡ 2 1 1 + 0 1 log ⁡ 2 0 1 ) = 0 E(S_2,C)=-\sum_{i=1}^{2}\frac{|C_i\cap S_2|}{|S_2|}\log_2\left(\frac{|C_i\cap S_2|}{|S_2|}\right)=-\left(\frac{1}{1}\log_2\frac{1}{1}+\frac{0}{1}\log_2\frac{0}{1}\right)=0 E(S2,C)=i=12S2CiS2log2(S2CiS2)=(11log211+10log210)=0 条件属性 A 1 A_1 A1 划分样本集 S S S 相对于 C C C 的信息熵为 E ( S , A 1 ∣ C ) = ∑ j = 1 2 ∣ S j ∣ ∣ S ∣ E ( S j , C ) = ∣ S 1 ∣ ∣ S ∣ E ( S 1 , C ) + ∣ S 2 ∣ ∣ S ∣ E ( S 2 , C ) = 5 6 × 0.971 + 1 6 × 0 ≈ 0.809 E(S,A_1|C)=\sum_{j=1}^{2}\frac{|S_j|}{|S|}E(S_j,C)=\frac{|S_1|}{|S|}E(S_1,C)+\frac{|S_2|}{|S|}E(S_2,C)=\frac{5}{6}\times0.971+\frac{1}{6}\times0\approx0.809 E(S,A1C)=j=12SSjE(Sj,C)=SS1E(S1,C)+SS2E(S2,C)=65×0.971+61×00.809

② 当 A 2 A_2 A2=“有无羽毛” 时,属性 A 2 A_2 A2 S S S 划分为 S 1 = { X 1 , X 3 , X 4 } S_1=\{X_1, X_3, X_4\} S1={X1,X3,X4} S 2 = { X 2 , X 5 , X 6 } S_2=\{X_2, X_5, X_6\} S2={X2,X5,X6}

因为 C 1 ∩ S 1 = { X 1 , X 3 , X 4 } C_1\cap S_1 =\{X_1, X_3,X_4\} C1S1={X1,X3,X4} C 2 ∩ S 1 = ∅ C_2\cap S_1=\varnothing C2S1=,根据信息熵公式有 E ( S 1 , C ) = − ∑ i = 1 2 ∣ C i ∩ S 1 ∣ ∣ S 1 ∣ log ⁡ 2 ( ∣ C i ∩ S 1 ∣ ∣ S 1 ∣ ) = − ( 3 3 log ⁡ 2 3 3 + 0 3 log ⁡ 2 0 3 ) = 0 E(S_1,C)=-\sum_{i=1}^{2}\frac{|C_i\cap S_1|}{|S_1|}\log_2\left(\frac{|C_i\cap S_1|}{|S_1|}\right)=-\left(\frac{3}{3}\log_2\frac{3}{3}+\frac{0}{3}\log_2\frac{0}{3}\right)=0 E(S1,C)=i=12S1CiS1log2(S1CiS1)=(33log233+30log230)=0 同理有 C 1 ∩ S 2 = { X 2 } C_1\cap S_2 =\{X_2\} C1S2={X2} C 2 ∩ S 2 = { X 5 , X 6 } C_2\cap S_2=\{X_5,X_6\} C2S2={X5,X6},根据信息熵公式有 E ( S 2 , C ) = − ∑ i = 1 2 ∣ C i ∩ S 2 ∣ ∣ S 2 ∣ log ⁡ 2 ( ∣ C i ∩ S 2 ∣ ∣ S 2 ∣ ) = − ( 1 3 log ⁡ 2 1 3 + 2 3 log ⁡ 2 2 3 ) ≈ 0.918 E(S_2,C)=-\sum_{i=1}^{2}\frac{|C_i\cap S_2|}{|S_2|}\log_2\left(\frac{|C_i\cap S_2|}{|S_2|}\right)=-\left(\frac{1}{3}\log_2\frac{1}{3}+\frac{2}{3}\log_2\frac{2}{3}\right) \approx 0.918 E(S2,C)=i=12S2CiS2log2(S2CiS2)=(31log231+32log232)0.918 条件属性 A 2 A_2 A2 划分样本集 S S S 相对于 C C C 的信息熵为 E ( S , A 2 ∣ C ) = ∑ j = 1 2 ∣ S j ∣ ∣ S ∣ E ( S j , C ) = ∣ S 1 ∣ ∣ S ∣ E ( S 1 , C ) + ∣ S 2 ∣ ∣ S ∣ E ( S 2 , C ) = 3 6 × 0 + 3 6 × 0.918 = 0.459 E(S,A_2|C)=\sum_{j=1}^{2}\frac{|S_j|}{|S|}E(S_j,C)=\frac{|S_1|}{|S|}E(S_1,C)+\frac{|S_2|}{|S|}E(S_2,C)=\frac{3}{6}\times0+\frac{3}{6}\times0.918=0.459 E(S,A2C)=j=12SSjE(Sj,C)=SS1E(S1,C)+SS2E(S2,C)=63×0+63×0.918=0.459

③ 当 A 3 A_3 A3=“有无毛皮” 时,属性 A 3 A_3 A3 S S S 划分为 S 1 = { X 6 } S_1=\{X_6\} S1={X6} S 2 = { X 1 , X 2 , X 3 , X 4 , X 5 } S_2=\{X_1, X_2,X_3, X_4,X_5\} S2={X1,X2,X3,X4,X5}

同理可得, E ( S 1 , C ) = 0 E(S_1,C)=0 E(S1,C)=0 E ( S 2 , C ) ≈ 0.722 E(S_2,C)\approx 0.722 E(S2,C)0.722 E ( S , A 3 ∣ C ) ≈ 0.241 E(S,A_3|C)\approx0.241 E(S,A3C)0.241

④ 当 A 4 A_4 A4=“会否游泳” 时,属性 A 4 A_4 A4 S S S 划分为 S 1 = { X 2 , X 5 } S_1=\{X_2,X_5\} S1={X2,X5} S 2 = { X 1 , X 3 , X 4 , X 6 } S_2=\{X_1,X_3, X_4,X_6\} S2={X1,X3,X4,X6}

同理可得, E ( S 1 , C ) = 1 E(S_1,C)=1 E(S1,C)=1 E ( S 2 , C ) ≈ 0.811 E(S_2,C)\approx0.811 E(S2,C)0.811 E ( S , A 4 ∣ C ) = 0.874 E(S,A_4|C)=0.874 E(S,A4C)=0.874

(3)计算每个属性 A A A 的信息增益

根据公式 g a i n ( S , A ∣ C ) = E ( S , C ) − E ( S , A ∣ C ) gain(S,A|C)=E(S,C)-E(S,A|C) gain(S,AC)=E(S,C)E(S,AC) 可得

① 是否温血: g a i n ( S , A 1 ∣ C ) = 0.918 − 0.809 = 0.109 gain(S,A_1|C)=0.918-0.809=0.109 gain(S,A1C)=0.9180.809=0.109

② 有无羽毛: g a i n ( S , A 2 ∣ C ) = 0.918 − 0.459 = 0.459 gain(S,A_2|C)=0.918-0.459=0.459 gain(S,A2C)=0.9180.459=0.459

③ 有无毛皮: g a i n ( S , A 3 ∣ C ) = 0.918 − 0.241 = 0.677 gain(S,A_3|C)=0.918-0.241=0.677 gain(S,A3C)=0.9180.241=0.677

④ 会否游泳: g a i n ( S , A 4 ∣ C ) = 0.918 − 0.874 = 0.044 gain(S,A_4|C)=0.918-0.874=0.044 gain(S,A4C)=0.9180.874=0.044

因此,最大增益的属性为“有无毛皮”,即以“有无毛皮”作为根节点,并以“有无毛皮”划分 S S S 所得子集 S 1 S_1 S1 S 2 S_2 S2

第二步:选择 S 2 S_2 S2 中增益最大的属性作为“有无毛皮”的子女结点,即选择属性“有无羽毛”。

第三步:选择 S 2 S_2 S2 中增益最大的属性作为“有无羽毛”的子女结点,即选择属性“是否温血”。

最终,得到样本集的决策树,如下图所示。

在这里插入图片描述

第三题

3、设网球俱乐部有打网球与气候条件的历史统计数据(如下表3)。它共有“天气”、“温度”、“湿度”和“风力”4个描述气候的条件属性,其中“湿度”为连续属性,类别属性为“是”与“否”的二元取值,分别表示在当时的气候条件下是否适宜打球的两种类别。假设湿度离散化为高中低三个等级,湿度值<75被认为湿度为低,湿度>85被认为湿度为高,其他情况湿度为中。请用C4.5算法构造关于气候条件与是否适宜打球的决策树。

表3 打球与气候情况的历史数据样本集S
样本id天气温度湿度风力类别样本id天气温度湿度风力类别
X 1 X_1 X195 X 8 X_8 X885
X 2 X_2 X290 X 9 X_9 X970
X 3 X_3 X385 X 10 X_{10} X1075
X 4 X_4 X480 X 11 X_{11} X1170
X 5 X_5 X575 X 12 X_{12} X1280
X 6 X_6 X670 X 13 X_{13} X1375
X 7 X_7 X765 X 14 X_{14} X1478

解:

首先,需要计算每个属性的信息增益,以选择最有用的属性作为根节点。以下是计算信息增益的步骤:

第一步,计算数据集的熵 H ( D ) H(D) H(D) H ( D ) = − ( P Y log ⁡ 2 P Y + P N log ⁡ 2 P N ) H(D)=-(P_Y\log_2P_Y+P_N\log_2P_N) H(D)=(PYlog2PY+PNlog2PN) 其中, P Y P_Y PY为类别为“是”的样本占比, P N P_N PN为类别为“否”的样本占比。

根据样本数据, P Y = 9 14 , P N = 5 14 P_Y=\frac{9}{14},P_N=\frac{5}{14} PY=149,PN=145,因此: H ( D ) = − ( 9 14 log ⁡ 2 9 14 + 5 14 log ⁡ 2 5 14 ) ≈ 0.940 H(D)=-\left(\frac{9}{14}\log_2\frac{9}{14}+\frac{5}{14}\log_2\frac{5}{14}\right)\approx0.940 H(D)=(149log2149+145log2145)0.940

第二步,对于每个属性 A A A,计算其条件熵 H ( D ∣ A ) H(D|A) H(DA) H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) H(D|A)=\sum_{i=1}^n\frac{|D_i|}{|D|}H(D_i) H(DA)=i=1nDDiH(Di)

其中, n n n为属性 A A A的取值数, ∣ D i ∣ |D_i| Di为样本集中属性 A A A取值为第 i i i个取值的样本数量, H ( D i ) H(D_i) H(Di)为属性 A A A取值为第 i i i个取值时的样本的熵。对于离散属性, H ( D i ) H(D_i) H(Di)可以根据与属性 A A A的取值相对应的样本计算得出,对于连续属性,需要先对其进行离散化处理。对于本题,我们需要对湿度进行离散化处理。

根据题目要求,湿度离散化为高中低三个等级,湿度值<75被认为湿度为低,湿度>85被认为湿度为高,其他情况湿度为中。因此,可以将样本集中湿度小于75的样本归为“低"类,湿度大于85的样本归为“高"类,其余样本归为“中”类。

对于其他属性,可以直接计算条件熵。以下是每个属性的条件熵计算公式:

① 天气: H ( D ∣ 天气 ) = 5 14 H ( D 1 ) + 4 14 H ( D 2 ) + 5 14 H ( D 3 ) H(D|天气)=\frac{5}{14}H(D_1)+\frac{4}{14}H(D_2)+\frac{5}{14}H(D_3) H(D天气)=145H(D1)+144H(D2)+145H(D3) 其中, D 1 D_1 D1为天气为“晴”的样本集, D 2 D_2 D2为天气为“云”的样本集, D 3 D_3 D3为天气为“雨”的样本集。
H ( D 1 ) = − ( 2 5 log ⁡ 2 2 5 + 3 5 log ⁡ 2 3 5 ) ≈ 0.971 H ( D 2 ) = − ( 4 4 log ⁡ 2 4 4 + 0 4 log ⁡ 2 0 4 ) = 0 H ( D 3 ) = − ( 3 5 log ⁡ 2 3 5 + 2 5 log ⁡ 2 2 5 ) ≈ 0.971 H(D1)=(25log225+35log235)0.971H(D2)=(44log244+04log204)=0H(D3)=(35log235+25log225)0.971

H(D1)H(D2)H(D3)=(52log252+53log253)0.971=(44log244+40log240)=0=(53log253+52log252)0.971 因此 H ( D ∣ 天气 ) ≈ 0.694 H(D|天气)\approx0.694 H(D天气)0.694

② 温度: H ( D ∣ 温度 ) = 4 14 H ( D 1 ) + 4 14 H ( D 2 ) + 6 14 H ( D 3 ) H(D|温度)=\frac{4}{14}H(D_1)+\frac{4}{14}H(D_2)+\frac{6}{14}H(D_3) H(D温度)=144H(D1)+144H(D2)+146H(D3) 其中, D 1 D_1 D1为温度为“高”的样本集, D 2 D_2 D2为温度为“中”的样本集, D 3 D_3 D3为温度为“低”的样本集。
H ( D 1 ) = − ( 2 4 log ⁡ 2 2 4 + 2 4 log ⁡ 2 2 4 ) = 1 H ( D 2 ) = − ( 4 6 log ⁡ 2 4 6 + 2 6 log ⁡ 2 2 6 ) ≈ 0.918 H ( D 3 ) = − ( 3 4 log ⁡ 2 3 4 + 1 4 log ⁡ 2 1 4 ) ≈ 0.811 H(D1)=(24log224+24log224)=1H(D2)=(46log246+26log226)0.918H(D3)=(34log234+14log214)0.811

H(D1)H(D2)H(D3)=(42log242+42log242)=1=(64log264+62log262)0.918=(43log243+41log241)0.811 因此 H ( D ∣ 温度 ) ≈ 0.911 H(D|温度)\approx0.911 H(D温度)0.911

③ 湿度: H ( D ∣ 湿度 ) = 4 14 H ( D 1 ) + 8 14 H ( D 2 ) + 2 14 H ( D 3 ) H(D|湿度)=\frac{4}{14}H(D_1)+\frac{8}{14}H(D_2)+\frac{2}{14}H(D_3) H(D湿度)=144H(D1)+148H(D2)+142H(D3) 其中, D 1 D_1 D1为湿度为“低”的样本集, D 2 D_2 D2为湿度为“中”的样本集, D 3 D_3 D3为湿度为“高”的样本集。

同理可得, H ( D 1 ) ≈ 0.811 H(D_1)\approx0.811 H(D1)0.811 H ( D 2 ) ≈ 0.811 H(D_2)\approx0.811 H(D2)0.811 H ( D 3 ) = 0 H(D_3)=0 H(D3)=0 H ( D ∣ 湿度 ) ≈ 0.695 H(D|湿度)\approx0.695 H(D湿度)0.695

④ 风力: H ( D ∣ 风力 ) = 9 14 H ( D 1 ) + 5 14 H ( D 2 ) H(D|风力)=\frac{9}{14}H(D_1)+\frac{5}{14}H(D_2) H(D风力)=149H(D1)+145H(D2) 其中, D 1 D_1 D1为风力为“无”的样本集, D 2 D_2 D2为风力为“有”的样本集。

同理可得, H ( D 1 ) ≈ 0.918 H(D_1)\approx0.918 H(D1)0.918 H ( D 2 ) ≈ 0.971 H(D_2)\approx0.971 H(D2)0.971, H ( D ∣ 风力 ) ≈ 0.937 H(D|风力)\approx0.937 H(D风力)0.937

第三步,计算每个属性的信息增益 g a i n ( D , A ) gain(D,A) gain(D,A) g a i n ( D , A ) = H ( D ) − H ( D ∣ A ) gain(D,A)=H(D)-H(D|A) gain(D,A)=H(D)H(DA) 每个属性的信息增益结果如下:

① 天气: g a i n ( D , 天气 ) ≈ 0.246 gain(D,天气)\approx0.246 gain(D,天气)0.246

② 温度: g a i n ( D , 温度 ) ≈ 0.029 gain(D,温度)\approx0.029 gain(D,温度)0.029

③ 湿度: g a i n ( D , 湿度 ) ≈ 0.245 gain(D,湿度)\approx0.245 gain(D,湿度)0.245

④ 风力: g a i n ( D , 风力 ) ≈ 0.003 gain(D,风力)\approx0.003 gain(D,风力)0.003

第四步,计算每个属性的信息增益率。

① 天气: g a i n R a t i o ( D , 天气 ) = g a i n ( D , 天气 ) / H ( D ∣ 天气 ) ≈ 0.156 gainRatio(D,天气)=gain(D,天气)/H(D|天气)\approx0.156 gainRatio(D,天气)=gain(D,天气)/H(D天气)0.156

② 温度: g a i n R a t i o ( D , 温度 ) = g a i n ( D , 温度 ) / H ( D ∣ 温度 ) ≈ 0.019 gainRatio(D,温度)=gain(D,温度)/H(D|温度)\approx0.019 gainRatio(D,温度)=gain(D,温度)/H(D温度)0.019

③ 湿度: g a i n R a t i o ( D , 湿度 ) = g a i n ( D , 湿度 ) / H ( D ∣ 湿度 ) ≈ 0.415 gainRatio(D,湿度)=gain(D,湿度)/H(D|湿度)\approx0.415 gainRatio(D,湿度)=gain(D,湿度)/H(D湿度)0.415

④ 风力: g a i n R a t i o ( D , 风力 ) = g a i n ( D , 风力 ) / H ( D ∣ 风力 ) ≈ 0.003 gainRatio(D,风力)=gain(D,风力)/H(D|风力)\approx0.003 gainRatio(D,风力)=gain(D,风力)/H(D风力)0.003

因此,选择信息增益率最大的属性“湿度”作为根节点。将样本集按照湿度的取值划分为三个子集,分别为湿度为“低”的子集 D 1 D_1 D1,湿度为“中”的子集 D 2 D_2 D2,湿度为“高”的子集 D 3 D_3 D3

第五步,对于每个子集,继续选择最有用的属性作为划分依据,构造子树。以下是构造子树的过程:

在这里插入图片描述
至此,我们已经得到了一棵完整的决策树,可以用于对新样本进行分类。其中,“高”、“中”、“低”表示湿度的不同取值,“有”、“无”表示风力的不同取值,叶子节点的标记“是”表示适宜打球,“否”表示不适宜打球。

第四题

4、设有4个属性14条记录的数据库(如下表4),它记录了顾客身份、年龄、收入和信用等级等个人信息,以及前来商店咨询电脑事宜,其中“电脑”属性标记了一个顾客咨询结束后买了电脑,或者没买就直接离开商店的信息。

表4 记录了14位顾客购买电脑与否的数据库
样本id学生年龄收入信用电脑样本id学生年龄收入信用电脑
X 1 X_1 X1≤30岁一般 X 8 X_8 X8≤30岁一般
X 2 X_2 X2≤30岁优等 X 9 X_9 X9≤30岁一般
X 3 X_3 X331~40岁一般 X 10 X_{10} X10≥41岁一般
X 4 X_4 X4≥41岁一般 X 11 X_{11} X11≥41岁优等
X 5 X_5 X5≥41岁一般 X 12 X_{12} X1231~40岁优等
X 6 X_6 X6≥41岁优等 X 13 X_{13} X1331~40岁一般
X 7 X_7 X731~40岁优等 X 14 X_{14} X14≥41岁优等

现在来了一位新顾客 X = ( 学生 = 是 , 年龄 ≤ 30 岁 , 收入等 = 中等 , 信用 = 一般 ) X=(学生=是, 年龄≤30岁, 收入等=中等, 信用=一般) X=(学生=,年龄30,收入等=中等,信用=一般),试用贝叶斯分类方法,预测顾客 X X X 是否会买电脑。

解:

现在来了一位新顾客 X = ( 学生 = 是 , 年龄 ≤ 30 岁 , 收入 = 中等 , 信用 = 一般 ) X=(学生=是,年龄≤30岁,收入=中等,信用=一般) X=(学生=,年龄30,收入=中等,信用=一般),试用贝叶斯分类方法,预测顾客 X X X是否会买电脑。

首先,需要计算先验概率和条件概率。先验概率指的是在没有任何其他信息的情况下,某个事件发生的概率。在这个例子中,需要计算电脑被购买的先验概率和电脑不被购买的先验概率。

设电脑被购买的先验概率为 P ( 电脑 = 是 ) P(电脑=是) P(电脑=),电脑不被购买的先验概率为 P ( 电脑 = 否 ) P(电脑=否) P(电脑=)
根据样本数据,电脑被购买的样本数为9,电脑不被购买的样本数为5,因此: P ( 电脑 = 是 ) = 9 14 = 0.64 P(电脑=是)=\frac{9}{14}=0.64 P(电脑=)=149=0.64 P ( 电脑 = 否 ) = 5 14 = 0.36 P(电脑=否)=\frac{5}{14}=0.36 P(电脑=)=145=0.36

条件概率指的是在已知某些条件的情况下,某个事件发生的概率,在这个例子中,我们需要计算在已知学生、年龄、收入和信用等级的情况下,顾客购买电脑的条件概率。

设学生为 S S S,年龄为 A A A,收入为 l l l,信用为 C C C,电脑为 B B B,则需要计算以下条件概率: P ( B = 是 ∣ S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ) P(B=是|S=是,A≤30岁,l=中等,C=一般) P(B=S=,A30,l=中等,C=一般)

根据贝叶斯公式,条件概率可以计算为: P ( B = 是 ∣ S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ) = P ( S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ∣ B = 是 ) ⋅ P ( B = 是 ) P ( S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ) P(B=是|S=是,A≤30岁,l=中等,C=一般)= \frac{P(S=是,A≤30岁,l=中等,C=一般|B=是)\cdot P(B=是)}{P(S=是,A≤30岁,l=中等,C=一般)} P(B=S=,A30,l=中等,C=一般)=P(S=,A30,l=中等,C=一般)P(S=,A30,l=中等,C=一般B=)P(B=)

为了计算条件概率,需要计算三个概率值:

P ( S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ∣ B = 是 ) P(S=是,A≤30岁,l=中等,C=一般|B=是) P(S=,A30,l=中等,C=一般B=):在电脑被购买的情况下,学生为是、年龄≤30岁、收入为中等、信用为一般的条件概率。 P ( S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ∣ B = 是 ) = 1 9 = 0.11 P(S=是,A≤30岁,l=中等,C=一般|B=是)= \frac{1}{9}=0.11 P(S=,A30,l=中等,C=一般B=)=91=0.11

P ( B = 是 ) P(B=是) P(B=):电脑被购买的先验概率。已知先验概率为0.64。

P ( S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ) P(S=是,A≤30岁,l=中等,C=一般) P(S=,A30,l=中等,C=一般):学生为是、年龄≤30岁、收入为中等、信用为一般的概率。根据样本数据,学生为是、年龄≤30岁、收入为中等、信用为一般的样本数为1,因此: P ( S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ) = 1 14 = 0.07 P(S=是,A≤30岁,l=中等,C=一般)=\frac{1}{14}=0.07 P(S=,A30,l=中等,C=一般)=141=0.07

现在,可以使用贝叶斯公式,计算条件概率:

P ( B = 是 ∣ S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ) = P ( S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ∣ B = 是 ) ⋅ P ( B = 是 ) P ( S = 是 , A ≤ 30 岁 , l = 中等 , C = 一般 ) = 0.11 × 0.64 0.07 = 1.00 P(B=|S=,A30,l=,C=)=P(S=,A30,l=,C=|B=)P(B=)P(S=,A30,l=,C=)=0.11×0.640.07=1.00

P(B=S=,A30,l=中等,C=一般)=P(S=,A30,l=中等,C=一般)P(S=,A30,l=中等,C=一般B=)P(B=)=0.070.11×0.64=1.00

因此,根据贝叶斯分类方法,顾客 X X X购买电脑的条件概率为1,即预测顾客 X X X会买电脑。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/608571
推荐阅读
相关标签
  

闽ICP备14008679号