1.

某学校对入学的新生进行性格问卷调查(没有心理学家的参与),根据学生对问题的回答,把学生的性格分成了8个类别。请说明该数据挖掘任务是属于分类任务还是聚类任务?为什么?并利用该例说明聚类分析和分类分析的异同点

解答:

(a)该数据挖掘任务属于聚类任务(clustering)。

(b)该任务没有预先定义的类别标签,而是根据学生对问题的回答对学生的性格进行分类,将相似的学生划分到同一个类别中。聚类分析正是基于数据本身的特征将数据划分为不同类别,这些类别在聚类之前是未知的。

(c)

相同点:

都用于从数据中提取有用的信息,可以将数据划分为不同的组或类别。

不同点:

1. 分类是有监督学习,需要标注训练数据;        聚类是无监督学习,不需要标注数据。
2. 分类的目标是学习将实例准确分配到预定义的类别;  聚类的目标是自动发现数据中的自然分组
3. 分类适用于有明确目标类别的场景;        聚类适用于发现数据内在模式、结构的场景
4. 分类通常使用准确率、精确率、召回率等指标评估;聚类使用簇内相似度、簇间差异度等指标评估。

2.

Apriori算法在数据挖掘中被广泛使用,已知有5000名球迷看奥运会,看乒乓球比赛和看篮球比赛的人数分别如下表所示:

看乒乓球

没看乒乓球

合计(行)

看篮球

2000

1750

3750

没看篮球

1000

250

1250

合计(列)

3000

2000

5000

计算“看乒乓球—>看篮球”的支持度比例(Support)、置信度比例(Confidence)、提升度(Lift)。

解答:

支持度比例(Support)
支持度比例表示同时发生两个事件的概率。
Support("看乒乓球→看篮球") = P("看乒乓球"且"看篮球") = 2000/5000=40%

置信度比例(Confidence)
置信度比例表示已发生A事件时,B事件发生的条件概率。
Confidence("看乒乓球→看篮球") = P("看篮球"|"看乒乓球") =(2/5)/(3/5)=66.7%

提升度(Lift)
提升度用于判断两个事件是否相互依赖。如果Lift > 1,则表示两个事件之间是正相关;如果Lift < 1,则表示两个事件之间是负相关;如果Lift = 1,则表示两个事件相互独立。

Lift("看乒乓球→看篮球") = Confidence("看乒乓球→看篮球") / P("看篮球")
= (2/3) / (3750/5000)
= 1.6

提升度大于1,说明"看乒乓球"和"看篮球"两个事件之间存在正相关关系,看乒乓球的人群更倾向于看篮球比赛。

3.

认识数据
假设描述学生的信息包含以下属性:性别,籍贯,年龄。记录p,q和C1,C2的信息如下,分别求出记录和簇彼此之间的距离。
p={男,广州,18}
q={女,韶关,20}
C1={男:25,女:5;        广州:20,深圳:6,韶关:4;        20}
C2={男:3,女:12;        汕头:12,深圳:1,韶关:2;        24}

(a)记录与记录之间的距离

p与q间距离记录p和q之间的距离总和是1 + 1 + 2 = 4。

d(p,q)=1 + 1 + 2 = 4

性别:p是男,q是女,性别间距离是1。
籍贯:p是广州,q是韶关,籍贯间的距离是1。
年龄:p是18,q是20,年龄间的距离是2。

(b)记录与簇间距离

p与C1间距离

d(p, C1)=(1-25/30)+(1-20/30)+(20-18)=2.5

性别:p是男,C1中男性最常见(频率25/30)
籍贯:p是广州,C1中广州最常见(频率20/30)
年龄:p是18,C1中列出年龄是20,年龄距离为|18-20|=2。

依次计算距离

q与C1间距离d(q,C1)=(1-5/30)+(1-4/30)+(20-20)=51/30

p与C2间距离d(p, C2)=(1-3/15)+(1-0/15)+(24-18)=7.8

q与C2间距离d(q, c2)=(1-12/15)+(1-2/15)+(24-20)=76/15

(c)簇与簇间距离

C1与C2间距离

d(C1, C2)=[1-(25*3+5*12)/30*15] + [1-(6*1+4*2)/30*15] + |20-24| = 2551/450

4.

已知:训练集合中垃圾邮件的比例为P(h+)=0.2;训练集合中正常邮件的比例为P(h-)=0.8;单词出现频率表如下:

分词

在垃圾邮件中出现的比例

在正常邮件中出现的比例

免费

0.3

0.01

奖励

0.2

0.01

网站

0.2

0.2

求解:判断一封邮件D=<“免费”“奖励”“网站”>是否是垃圾邮件?

P(h+)和p(h-)表示先验概率,只需要看现有邮件训练集中有多少封邮件是垃圾邮件,有多少封邮件是正常邮件,求其所占比例就可以得到P(h+)和p(h-)。

依题可得

P(h+) = 0.2 (垃圾邮件的先验概率)
P(h-) = 0.8 (正常邮件的先验概率)

P("免费"|h+) = 0.3 (在垃圾邮件中"免费"出现的条件概率)
P("免费"|h-) = 0.01 (在正常邮件中"免费"出现的条件概率)
P("奖励"|h+) = 0.2
P("奖励"|h-) = 0.01  
P("网站"|h+) = 0.2
P("网站"|h-) = 0.2

根据题目要求可知,我们需要求出P(h+|D)和P(h-|D)

根据贝叶斯定理:P(A|B)=P(B|A)P(A)/P(B)

P(h+|D) = (P(D|h+)P(h+)) / P(D)
P(h-|D) = (P(D|h-)P(h-)) / P(D)

P(D) = P(D|h+)P(h+) + P(D|h-)P(h-)
P(D|h+) = P("免费"|h+) * P("奖励"|h+) * P("网站"|h+) = 0.3 * 0.2 * 0.2 = 0.012
P(D|h-) = P("免费"|h-) * P("奖励"|h-) * P("网站"|h-) = 0.01 * 0.01 * 0.2 = 0.000002

则P(D) = 0.012 * 0.2 + 0.000002 * 0.8 = 0.002424
最后计算概率:
P(h+|D) = (0.012 * 0.2) / 0.002424 = 0.9917
P(h-|D) = (0.000002 * 0.8) / 0.002424 = 0.0083

可以判断这封邮件D更可能是垃圾邮件

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部