第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