目录
- 第7章 数据的属性与相似性
- 作业题
第7章 数据的属性与相似性
作业题
1、设有10个二元属性,3个数据对象的数据集(表1)。
id | A 1 A_1 A1 | A 2 A_2 A2 | A 3 A_3 A3 | A 4 A_4 A4 | A 5 A_5 A5 | A 6 A_6 A6 | A 7 A_7 A7 | A 8 A_8 A8 | A 9 A_9 A9 | A 10 A_{10} A10 |
---|---|---|---|---|---|---|---|---|---|---|
X 1 X_1 X1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
X 2 X_2 X2 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
X 3 X_3 X3 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
试计算简单匹配系数相似度 s m c ( X 1 , X 2 ) s_{mc}(X_1,X_2) smc(X1,X2), s m c ( X 2 , X 3 ) s_{mc}(X_2,X_3) smc(X2,X3);Jaccard 系数相似度 s j c ( X 1 , X 2 ) s_{jc}(X_1,X_2) sjc(X1,X2), s j c ( X 2 , X 3 ) s_{jc}(X_2,X_3) sjc(X2,X3);Rao 系数相似度 s r c ( X 1 , X 2 ) s_{rc}(X_1,X_2) src(X1,X2), s r c ( X 2 , X 3 ) s_{rc}(X_2,X_3) src(X2,X3)。
解:
由题可知, X 1 = ( 1 , 0 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 ) X_1=(1,0,1,1,1,1,1,0,1,1) X1=(1,0,1,1,1,1,1,0,1,1) X 2 = ( 1 , 1 , 0 , 0 , 1 , 0 , 0 , 1 , 1 , 0 ) X_2=(1,1,0,0,1,0,0,1,1,0) X2=(1,1,0,0,1,0,0,1,1,0)
比较 X 1 X_1 X1 和 X 2 X_2 X2 每一个属性的取值情况,可得 f 11 = 3 f_{11}=3 f11=3, f 10 = 5 f_{10}=5 f10=5, f 01 = 2 f_{01}=2 f01=2, f 00 = 0 f_{00}=0 f00=0;
向量的维数 d = f 11 + f 10 + f 01 + f 00 = 10 d=f_{11}+f_{10}+f_{01}+f_{00}=10 d=f11+f10+f01+f00=10;
计算得:
s m c ( X 1 , X 2 ) = f 11 + f 00 f 11 + f 10 + f 01 + f 00 = f 11 + f 00 d = 3 10 s_{mc}(X_1,X_2)=\frac{f_{11}+f_{00}}{f_{11}+f_{10}+f_{01}+f_{00}}=\frac{f_{11}+f_{00}}{d}=\frac{3}{10} smc(X1,X2)=f11+f10+f01+f00f11+f00=df11+f00=103 s j c ( X 1 , X 2 ) = f 11 f 11 + f 10 + f 01 = f 11 d − f 00 = 3 10 s_{jc}(X_1,X_2)=\frac{f_{11}}{f_{11}+f_{10}+f_{01}}=\frac{f_{11}}{d-f_{00}}=\frac{3}{10} sjc(X1,X2)=f11+f10+f01f11=d−f00f11=103 s r c ( X 1 , X 2 ) = f 11 f 11 + f 10 + f 01 + f 00 = f 11 d = 3 10 s_{rc}(X_1,X_2)=\frac{f_{11}}{f_{11}+f_{10}+f_{01}+f_{00}}=\frac{f_{11}}{d}=\frac{3}{10} src(X1,X2)=f11+f10+f01+f00f11=df11=103
由题可知, X 2 = ( 1 , 1 , 0 , 0 , 1 , 0 , 0 , 1 , 1 , 0 ) X_2=(1,1,0,0,1,0,0,1,1,0) X2=(1,1,0,0,1,0,0,1,1,0) X 3 = ( 0 , 1 , 1 , 0 , 1 , 1 , 1 , 0 , 0 , 1 ) X_3=(0,1,1,0,1,1,1,0,0,1) X3=(0,1,1,0,1,1,1,0,0,1)
比较和每一个属性的取值情况,可得 f 11 = 2 f_{11}=2 f11=2, f 10 = 3 f_{10}=3 f10=3, f 01 = 4 f_{01}=4 f01=4, f 00 = 1 f_{00}=1 f00=1;
向量的维数 d = f 11 + f 10 + f 01 + f 00 = 10 d=f_{11}+f_{10}+f_{01}+f_{00}=10 d=f11+f10+f01+f00=10;
计算得:
s m c ( X 2 , X 3 ) = f 11 + f 00 f 11 + f 10 + f 01 + f 00 = f 11 + f 00 d = 3 10 s_{mc}(X_2,X_3)=\frac{f_{11}+f_{00}}{f_{11}+f_{10}+f_{01}+f_{00}}=\frac{f_{11}+f_{00}}{d}=\frac{3}{10} smc(X2,X3)=f11+f10+f01+f00f11+f00=df11+f00=103 s j c ( X 2 , X 3 ) = f 11 f 11 + f 10 + f 01 = f 11 d − f 00 = 2 10 − 1 = 2 9 s_{jc}(X_2,X_3)=\frac{f_{11}}{f_{11}+f_{10}+f_{01}}=\frac{f_{11}}{d-f_{00}}=\frac{2}{10-1}=\frac{2}{9} sjc(X2,X3)=f11+f10+f01f11=d−f00f11=10−12=92 s r c ( X 2 , X 3 ) = f 11 f 11 + f 10 + f 01 + f 00 = f 11 d = 2 10 = 1 5 s_{rc}(X_2,X_3)=\frac{f_{11}}{f_{11}+f_{10}+f_{01}+f_{00}}=\frac{f_{11}}{d}=\frac{2}{10}=\frac{1}{5} src(X2,X3)=f11+f10+f01+f00f11=df11=102=51
2、设有5个分类属性,3个数据对象的数据集(表2)。
对象id | 背景颜色 | 婚姻状况 | 性别 | 血型 | 职业 |
---|---|---|---|---|---|
X 1 X_1 X1 | 红 | 单身 | 女 | B | 工人 |
X 2 X_2 X2 | 白 | 离异 | 男 | AB | 工人 |
X 3 X_3 X3 | 蓝 | 单身 | 男 | B | 教师 |
试计算 s ( X 1 , X 2 ) s(X_1,X_2) s(X1,X2) 和 s ( X 1 , X 3 ) s(X_1,X_3) s(X1,X3) 和 s ( X 2 , X 3 ) s(X_2,X_3) s(X2,X3)。
解:
利用 X i X_i Xi 和 X j X_j Xj 的相似度公式 s ( X i , X j ) = p d s(X_i,X_j)=\frac{p}{d} s(Xi,Xj)=dp p p p 是 X i X_i Xi 和 X j X_j Xj 的对应属性值 x i k = x j k x_{ik}=x_{jk} xik=xjk 的个数, d d d 是向量的维数。
由题可知,向量的维数 d = 5 d=5 d=5,对象 X 1 X_1 X1 和 X 2 X_2 X2 在职业分量上取相同的值,
计算得,
s ( X 1 , X 2 ) = p 1 d = 1 5 s(X_1,X_2)=\frac{p_1}{d}=\frac{1}{5} s(X1,X2)=dp1=51
同理可得,
s ( X 1 , X 3 ) = p 2 d = 2 5 s(X_1,X_3)=\frac{p_2}{d}=\frac{2}{5} s(X1,X3)=dp2=52 s ( X 2 , X 3 ) = p 3 d = 1 5 s(X_2,X_3)=\frac{p_3}{d}=\frac{1}{5} s(X2,X3)=dp3=51
3、假设某校用考试成绩、奖学金和月消费3个属性来描写学生在校的信息(表3)。
其中第1个属性考试成绩取 m 1 = 5 m_1=5 m1=5 个状态,其顺序排位为优>良>中>及格>不及格;第2个属性奖学金取 m 2 = 3 m_2=3 m2=3 个状态,其顺序排位为甲>乙>丙;第3个属性月消费取 m 3 = 3 m_3=3 m3=3 个状态,其顺序排位为高>中>低。
对象id | 成绩 | 奖学金 | 月消费 |
---|---|---|---|
X 1 X_1 X1 | 良 | 甲 | 高 |
X 2 X_2 X2 | 优 | 甲 | 中 |
X 3 X_3 X3 | 中 | 丙 | 高 |
试按照序数属性相似度计算方法求 s ( X 1 , X 2 ) s(X_1,X_2) s(X1,X2) 和 s ( X 1 , X 3 ) s(X_1,X_3) s(X1,X3) 和 s ( X 2 , X 3 ) s(X_2,X_3) s(X2,X3) 。
解:
首先将序数属性的值域映射为整数排位集合。
{ 优 , 良 , 中 , 及格 , 不及格 } ⇒ { 5 , 4 , 3 , 2 , 1 } \{优,良,中,及格,不及格\}\Rightarrow\{5,4,3,2,1\} {优,良,中,及格,不及格}⇒{5,4,3,2,1},其中最大排位数 m 1 = 5 m_1=5 m1=5;
{ 甲 , 乙 , 丙 } ⇒ { 3 , 2 , 1 } \{甲,乙,丙\}\Rightarrow\{3,2,1\} {甲,乙,丙}⇒{3,2,1},其中最大排位数 m 2 = 3 m_2=3 m2=3;
{ 高 , 中 , 低 } ⇒ { 3 , 2 , 1 } \{高,中,低\}\Rightarrow\{3,2,1\} {高,中,低}⇒{3,2,1},其中最大排位数 m 3 = 3 m_3=3 m3=3;
将每个属性的取值用其排位的整数代替,得
对象id | 成绩 | 奖学金 | 月消费 |
---|---|---|---|
X 1 X_1 X1 | 4 | 3 | 3 |
X 2 X_2 X2 | 5 | 3 | 2 |
X 3 X_3 X3 | 3 | 1 | 3 |
利用公式 z i k = x i k − 1 m k − 1 z_{ik}=\frac{x_{ik}-1}{m_k-1} zik=mk−1xik−1将其映射到 [ 0 , 1 ] [0,1] [0,1] 区间的实数,并代替原先的排位整数,得到数值属性的数据集。
对于数据对象 X 1 X_1 X1 ,其成绩排位整数是 4,而 m 1 = 5 m_1=5 m1=5 ,因此 z 11 = ( x 11 − 1 ) / ( m 1 − 1 ) = ( 4 − 1 ) / ( 5 − 1 ) = 0.75 z_{11}=(x_{11}-1)/(m_1-1)=(4-1)/(5-1)=0.75 z11=(x11−1)/(m1−1)=(4−1)/(5−1)=0.75; X 2 X_2 X2 的成绩排位数是 5,映射为 z 21 = ( x 21 − 1 ) / ( m 1 − 1 ) = ( 5 − 1 ) / ( 5 − 1 ) = 1 z_{21}=(x_{21}-1)/(m_1-1)=(5-1)/(5-1)=1 z21=(x21−1)/(m1−1)=(5−1)/(5−1)=1; X 3 X_3 X3 的成绩排位数是 3,映射为 z 31 = ( x 31 − 1 ) / ( m 1 − 1 ) = ( 3 − 1 ) / ( 5 − 1 ) = 0.5 z_{31}=(x_{31}-1)/(m_1-1)=(3-1)/(5-1)=0.5 z31=(x31−1)/(m1−1)=(3−1)/(5−1)=0.5。
同理可得 X 1 X_1 X1, X 2 X_2 X2, X 3 X_3 X3 的奖学金和月消费的实数值。
对象id | 成绩 | 奖学金 | 月消费 |
---|---|---|---|
X 1 X_1 X1 | 0.75 | 1 | 1 |
X 2 X_2 X2 | 1 | 1 | 0.5 |
X 3 X_3 X3 | 0.5 | 0 | 1 |
选用欧几里得距离公式计算任意两点之间的相异度,得
d ( X 1 , X 2 ) = ( 0.75 − 1 ) 2 + ( 1 − 1 ) 2 + ( 1 − 0.5 ) 2 = 5 16 d(X_1,X_2)=\sqrt{(0.75-1)^2+(1-1)^2+(1-0.5)^2}=\sqrt{\frac{5}{16}} d(X1,X2)=(0.75−1)2+(1−1)2+(1−0.5)2=165 d ( X 1 , X 3 ) = ( 0.75 − 0.5 ) 2 + ( 1 − 0 ) 2 + ( 1 − 1 ) 2 = 17 16 d(X_1,X_3)=\sqrt{(0.75-0.5)^2+(1-0)^2+(1-1)^2}=\sqrt{\frac{17}{16}} d(X1,X3)=(0.75−0.5)2+(1−0)2+(1−1)2=1617 d ( X 2 , X 3 ) = ( 1 − 0.5 ) 2 + ( 1 − 0 ) 2 + ( 0.5 − 1 ) 2 = 3 2 d(X_2,X_3)=\sqrt{(1-0.5)^2+(1-0)^2+(0.5-1)^2}=\sqrt{\frac{3}{2}} d(X2,X3)=(1−0.5)2+(1−0)2+(0.5−1)2=23
由公式 s ( X i , X j ) = 1 d ( X i , X j ) s(X_i,X_j)=\frac{1}{d(X_i,X_j)} s(Xi,Xj)=d(Xi,Xj)1计算得相似度
s ( X 1 , X 2 ) = 1 d ( X 1 , X 2 ) = 16 5 ≈ 1.79 s(X_1,X_2)=\frac{1}{d(X_1,X_2)}=\sqrt{\frac{16}{5}}\approx1.79 s(X1,X2)=d(X1,X2)1=516≈1.79 s ( X 1 , X 3 ) = 1 d ( X 1 , X 3 ) = 16 17 ≈ 0.97 s(X_1,X_3)=\frac{1}{d(X_1,X_3)}=\sqrt{\frac{16}{17}}\approx0.97 s(X1,X3)=d(X1,X3)1=1716≈0.97 s ( X 2 , X 3 ) = 1 d ( X 2 , X 3 ) = 2 3 ≈ 0.82 s(X_2,X_3)=\frac{1}{d(X_2,X_3)}=\sqrt{\frac{2}{3}}\approx0.82 s(X2,X3)=d(X2,X3)1=32≈0.82
4、对于如下表4所示的数据集,试计算余弦相似度 s c o s ( X 1 , X 3 ) s_{cos}(X_1,X_3) scos(X1,X3) 和 s c o s ( X 2 , X 3 ) s_{cos}(X_2,X_3) scos(X2,X3) 的值。
文档号 | 球队 | 教练 | 冰球 | 棒球 | 足球 | 罚球 | 得分 | 赢球 | 输球 | 赛季 |
---|---|---|---|---|---|---|---|---|---|---|
X 1 X_1 X1 | 5 | 0 | 3 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
X 2 X_2 X2 | 3 | 0 | 2 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
X 3 X_3 X3 | 4 | 1 | 2 | 0 | 2 | 1 | 0 | 1 | 0 | 0 |
解:
X 1 = ( 5 , 0 , 3 , 0 , 1 , 0 , 0 , 1 , 0 , 0 ) X_1=(5,0,3,0,1,0,0,1,0,0) X1=(5,0,3,0,1,0,0,1,0,0) X 2 = ( 3 , 0 , 2 , 0 , 1 , 1 , 0 , 1 , 0 , 1 ) X_2=(3,0,2,0,1,1,0,1,0,1) X2=(3,0,2,0,1,1,0,1,0,1) X 3 = ( 4 , 1 , 2 , 0 , 2 , 1 , 0 , 1 , 0 , 0 ) X_3=(4,1,2,0,2,1,0,1,0,0) X3=(4,1,2,0,2,1,0,1,0,0)
∥ X 1 ∥ = 5 2 + 3 2 + 1 2 + 1 2 = 6 \lVert{X_1}\rVert=\sqrt{5^2+3^2+1^2+1^2}=6 ∥X1∥=52+32+12+12=6
∥ X 2 ∥ = 3 2 + 2 2 + 1 2 + 1 2 + 1 2 + 1 2 = 17 \lVert{X_2}\rVert=\sqrt{3^2+2^2+1^2+1^2+1^2+1^2}=\sqrt{17} ∥X2∥=32+22+12+12+12+12=17
∥ X 3 ∥ = 4 2 + 1 2 + 2 2 + 2 2 + 1 2 + 1 2 = 3 3 \lVert{X_3}\rVert=\sqrt{4^2+1^2+2^2+2^2+1^2+1^2}=3\sqrt{3} ∥X3∥=42+12+22+22+12+12=33
X 1 ⋅ X 3 = 5 × 4 + 0 × 1 + 3 × 2 + 1 × 2 + 0 × 1 + 1 × 1 = 29 X_1\cdot X_3=5×4+0×1+3×2+1×2+0×1+1×1=29 X1⋅X3=5×4+0×1+3×2+1×2+0×1+1×1=29
X 2 ⋅ X 3 = 3 × 4 + 0 × 1 + 2 × 2 + 1 × 2 + 1 × 1 + 1 × 1 + 1 × 0 = 20 X_2\cdot X_3=3×4+0×1+2×2+1×2+1×1+1×1+1×0=20 X2⋅X3=3×4+0×1+2×2+1×2+1×1+1×1+1×0=20
由公式 s c o s ( X i , X j ) = X i ⋅ X j ∥ X i ∥ ⋅ ∥ X j ∥ s_{cos}(X_i,X_j)=\frac{X_i\cdot X_j}{\lVert{X_i}\rVert\cdot\lVert{X_j}\rVert} scos(Xi,Xj)=∥Xi∥⋅∥Xj∥Xi⋅Xj 得
s c o s ( X 1 , X 3 ) = X 1 ⋅ X 3 ∥ X 1 ∥ ⋅ ∥ X 3 ∥ = 29 6 × 3 3 ≈ 0.93 s_{cos}(X_1,X_3)=\frac{X_1\cdot X_3}{\lVert{X_1}\rVert\cdot\lVert{X_3}\rVert}=\frac{29}{6×3\sqrt{3}}\approx0.93 scos(X1,X3)=∥X1∥⋅∥X3∥X1⋅X3=6×3329≈0.93 s c o s ( X 2 , X 3 ) = X 2 ⋅ X 3 ∥ X 2 ∥ ⋅ ∥ X 3 ∥ = 20 17 × 3 3 ≈ 0.93 s_{cos}(X_2,X_3)=\frac{X_2\cdot X_3}{\lVert{X_2}\rVert\cdot\lVert{X_3}\rVert}=\frac{20}{\sqrt{17}×3\sqrt{3}}\approx0.93 scos(X2,X3)=∥X2∥⋅∥X3∥X2⋅X3=17×3320≈0.93
5、设有混合属性数据集(表5),试计算 S S S 的相异度矩阵。
顾客id | 性别 | 婚姻状况 | 学位 | 当月消费额 |
---|---|---|---|---|
X 1 X_1 X1 | 男 | 已婚 | 其他 | 1230 |
X 2 X_2 X2 | 男 | Null | 硕士 | Null |
X 3 X_3 X3 | 男 | 离异 | 博士 | 3586 |
X 4 X_4 X4 | 女 | 单身 | 硕士 | 3670 |
X 5 X_5 X5 | 男 | 单身 | 学士 | 1025 |
X 6 X_6 X6 | 女 | 丧偶 | Null | 2890 |
解:
属性 “性别” 的相异度矩阵: D ( 1 ) ( S ) = ( 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 0 1 0 ) D^{(1)}(S)= \left( \begin{matrix} 0 & & & & & \\ 0 & 0 & & & & \\ 0 & 0 & 0 & & & \\ 1 & 1 & 1 & 0 & & \\ 0 & 0 & 0 & 1 & 0 & \\ 1 & 1 & 1 & 0 & 1 & 0 \end{matrix} \right) D(1)(S)= 000101001010101010010
属性 “婚姻状况” 的相异度矩阵: D ( 2 ) ( S ) = ( 0 N u l l 0 1 N u l l 0 1 N u l l 1 0 1 N u l l 1 0 0 1 N u l l 1 1 1 0 ) D^{(2)}(S)= \left( \begin{matrix} 0 & & & & & \\ Null & 0 & & & & \\ 1 & Null & 0 & & & \\ 1 & Null & 1 & 0 & & \\ 1 & Null & 1 & 0 & 0 & \\ 1 & Null & 1 & 1 & 1 & 0 \end{matrix} \right) D(2)(S)= 0Null11110NullNullNullNull0111001010
属性 “学位” 的相异度矩阵: D ( 3 ) ( S ) = ( 0 0.67 0 1 0.33 0 0.67 0 0.33 0 0.33 0.33 0.67 0.33 0 N u l l N u l l N u l l N u l l N u l l 0 ) D^{(3)}(S)= \left( \begin{matrix} 0 & & & & & \\ 0.67 & 0 & & & & \\ 1 & 0.33 & 0 & & & \\ 0.67 & 0 & 0.33 & 0 & & \\ 0.33 & 0.33 & 0.67 & 0.33 & 0 & \\ Null & Null & Null & Null & Null & 0 \end{matrix} \right) D(3)(S)= 00.6710.670.33Null00.3300.33Null00.330.67Null00.33Null0Null0
由公式 d ( k ) ( X i , X j ) = ∣ x i k − x j k ∣ m a x k − m i n k d^{(k)}(X_i,X_j)=\frac{\vert x_{ik}-x_{jk}\vert}{max_k-min_k} d(k)(Xi,Xj)=maxk−mink∣xik−xjk∣
得属性 “当月消费额” 的相异度矩阵: D ( 4 ) ( S ) = ( 0 N u l l 0 0.89 N u l l 0 0.92 N u l l 0.03 0 0.08 N u l l 0.97 1 0 0.63 N u l l 0.26 0.29 0.71 0 ) D^{(4)}(S)= \left( \begin{matrix} 0 & & & & & \\ Null & 0 & & & & \\ 0.89 & Null & 0 & & & \\ 0.92 & Null & 0.03 & 0 & & \\ 0.08 & Null & 0.97 & 1 & 0 & \\ 0.63 & Null & 0.26 & 0.29 & 0.71 & 0 \end{matrix} \right) D(4)(S)= 0Null0.890.920.080.630NullNullNullNull00.030.970.26010.2900.710
利用公式 d ( X i , X j ) = ∑ k = 1 d δ ( k ) ( X i , X j ) × d ( k ) ( X i , X j ) ∑ k = 1 n δ ( k ) ( X i , X j ) d(X_i,X_j)=\frac{\sum\limits_{k=1}^d\delta^{(k)}(X_i,X_j)×d^{(k)}(X_i,X_j)}{\sum\limits_{k=1}^n\delta^{(k)}(X_i,X_j)} d(Xi,Xj)=k=1∑nδ(k)(Xi,Xj)k=1∑dδ(k)(Xi,Xj)×d(k)(Xi,Xj)
将 D ( k ) ( S ) ( k = 1 , 2 , ⋯ , d ) D^{(k)}(S)(k=1,2,\cdots,d) D(k)(S)(k=1,2,⋯,d) 集成为 S S S 的相异度矩阵 D ( S ) D(S) D(S),得
D ( S ) = ( 0 0.33 0 0.72 0.17 0 0.89 0.5 0.59 0 0.35 0.17 0.66 0.59 0 0.88 1 0.75 0.43 0.9 0 ) D(S)= \left( \begin{matrix} 0 & & & & & \\ 0.33 & 0 & & & & \\ 0.72 & 0.17 & 0 & & & \\ 0.89 & 0.5 & 0.59 & 0 & & \\ 0.35 & 0.17 & 0.66 & 0.59 & 0 & \\ 0.88 & 1 & 0.75 & 0.43 & 0.9 & 0 \end{matrix} \right) D(S)= 00.330.720.890.350.8800.170.50.17100.590.660.7500.590.4300.90