当前位置: 首页 > news >正文

【SCAU数据挖掘】数据挖掘期末总复习题库简答题及解析——中

1.

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

解答:

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

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

(c)

相同点:

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

不同点:

1. 分类是有监督学习,需要标注训练数据;        聚类是无监督学习,不需要标注数据。
2. 分类的目标是学习将实例准确分配到预定义的类别;  聚类的目标是自动发现数据中的自然分组。
3. 分类适用于有明确目标类别的场景;        聚类适用于发现数据内在模式、结构的场景。
4. 分类通常使用准确率、精确率、召回率等指标评估;聚类使用簇内相似度、簇间差异度等指标评估。
5. 算法不同:分类常用决策树、朴素贝叶斯、逻辑回归等;聚类常用K-Means、层次聚类、DBSCAN等。

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更可能是垃圾邮件

相关文章:

  • c++ 智能指针使用注意事项及解决方案
  • 教学资源共享平台的设计
  • 富瀚微FH8322 ISP图像调试—BLC校正
  • XXE漏洞详解:从基础到防御
  • 8.12 矢量图层面要素单一符号使用一(简单填充)
  • python基础面试器(其一)
  • 为什么要学习这么多“没用”的知识
  • 持续总结中!2024年面试必问 20 道设计模式面试题(一)
  • 倩女幽魂手游攻略:云手机自动搬砖辅助教程!
  • Python学习从0开始——Kaggle深度学习002
  • Java多线程设计模式之不可变对象(Immutable Object)模式
  • [深度学习]基于C++和onnxruntime部署yolov10的onnx模型
  • Swift开发——元组
  • 一篇搞定Spring,IOC容器,Bean管理,3.AOP底层原理和实现(收下吧,真的很详细)
  • Linux之逻辑控制符
  • 【Linux】使用 iptables 验证访问HDFS 所使用到的端口
  • Warning: `ReactDOMTestUtils.act` is deprecated in favor of `React.act`.
  • Linux远程访问及控制
  • MySQL的卸载
  • 如何修改倍福CX7000PLC IP地址
  • 长三角铁路今日预计发送386万人次,沪宁、沪杭等方向尚有余票
  • 出现这几个症状,说明你真的老了
  • 五一假期上海多个景点人流如织,警方多措并举确保秩序
  • 澳大利亚大选今日投票:聚焦生活成本与“特朗普问题”
  • 保持高位运行,今天全国铁路预计发送旅客1800万人次
  • 菏泽家长“付费查成绩”风波调查:免费功能被误读