电子科大数据挖掘作业16.docx
《电子科大数据挖掘作业16.docx》由会员分享,可在线阅读,更多相关《电子科大数据挖掘作业16.docx(15页珍藏版)》请在冰豆网上搜索。
![电子科大数据挖掘作业16.docx](https://file1.bdocx.com/fileroot1/2023-2/22/5c23efa4-d62c-4c22-ad24-5650ee47e210/5c23efa4-d62c-4c22-ad24-5650ee47e2101.gif)
电子科大数据挖掘作业16
数据挖掘课后习题
数据挖掘作业1——6
第一章绪论
1)数据挖掘处理的对象有哪些?
请从实际生活中举出至少三种。
1、关系数据库
2、数据仓库
3、事务数据库
4、高级数据库系统和数据库应用如空间数据库、时序数据库、文本数据库和多媒体数据库等,还可以是Web数据信息。
实际生活的例子:
①电信行业中利用数据挖掘技术进行客户行为分析,包含客户通话记录、通话时间、所开通的服务等,据此进行客户群体划分以及客户流失性分析。
②天文领域中利用决策树等数据挖掘方法对上百万天体数据进行分类与分析,帮助天文学家发现其他未知星体。
③市场业中应用数据挖掘技术进行市场定位、消费者分析、辅助制定市场营销策略等。
2)给出一个例子,说明数据挖掘对商务的成功是至关重要的。
该商务需要什么样的数据挖掘功能?
它们能够由数据查询处理或简单的统计分析来实现吗?
以一个百货公司为例,它可以应用数据挖掘来帮助其进行目标市场营销。
运用数据挖掘功能例如关联规则挖掘,百货公司可以根据销售记录挖掘出强关联规则,来诀定哪一类商品是消费者在购买某一类商品的同时,很有可能去购买的,从而促使百货公司进行目标市场营销。
数据查询处理主要用于数据或信息检索,没有发现关联规则的方法。
同样地,简单的统计分析没有能力处理像百货公司销售记录这样的大规模数据。
第二章数据仓库和OLAP技术
1)简述数据立方体的概念、多维数据模型上的OLAP操作。
●数据立方体
数据立方体是二维表格的多维扩展,如同几何学中立方体是正方形的三维扩展一样,是一类多维矩阵,让用户从多个角度探索和分析数据集,通常是一次同时考虑三个维度。
数据立方体提供数据的多维视图,并允许预计算和快速访问汇总数据。
●多维数据模型上的OLAP操作
a)上卷(roll-up):
汇总数据
通过一个维的概念分层向上攀升或者通过维规约
b)下卷(drill-down):
上卷的逆操作
由不太详细的数据到更详细的数据,可以通过沿维的概念分层向下或引入新的维来实现
c)切片和切块(sliceanddice)
投影和选择操作
d)转轴(pivot)
立方体的重定位,可视化,或将一个3维立方体转化为一个2维平面序列
2)OLAP多维分析如何辅助决策?
举例说明。
OLAP是在多维数据结构上进行数据分析的,一般在多维数据上切片、切块成简单数据来进行分析,或是上卷、下卷来分析。
OLAP要查询大量的日常商业信息,以及大量的商业活动变化情况,如每周购买量的变化值,经理通过查询变化值来做决策。
例如经理看到利润小于预计值是,就会去深入到各地区去查看产品利润情况,这样他会发现一些比较异常的数据。
经过进一步的分析和追踪查询可以发现问题并解决
3)举例说明OLAP的多维数据分析的切片操作。
切片就是在某两个维上取一定区间的维成员或全部维成员。
如用三维数组表示为(地区,时间,产品,销售额),如果在地区维度上选定一个维成员,就可以得到在该地区的一个切片(关于时间和产品的切片)。
第三章数据预处理
1)假定用于分析的数据包含属性age,数据元组中age的值如下(按递增序):
13,15,16,16,19,20,20,21,22,22,25,25,25,25,30,33,33,33,35,35,35,35,36,40,45,46,52,70。
(a)使用按箱平均值平滑对以上数据进行平滑,箱的深度为3。
解释你的步骤。
评论对于给定的数据,该技术的效果。
已知数据元组中age的值如下(按递增序):
13,15,16,16,19,20,20,21,22,22,25,25,25,25,30,33,33,33,35,35,35,35,36,40,45,46,52,70,
且箱的深度为3,划分为(等频)箱:
箱1:
13,15,16
箱2:
16,19,20
箱3:
20,21,22
箱4:
22,25,25
箱5:
25,25,30
箱6:
33,33,33
箱7:
35,35,35
箱8:
35,36,40
箱9:
45,46,52
箱10:
70
用箱均值光滑:
箱1:
15,15,15
箱2:
18,18,18
箱3:
21,21,21
箱4:
24,24,24
箱5:
27,27,37
箱6:
33,33,33
箱7:
35,35,35
箱8:
37,37,37
箱9:
48,48,48
箱10:
70
(b)对于数据平滑,还有哪些其它方法?
(1)回归:
可以用一个函数(如回归函数)拟合数据来光滑数据;
(2)聚类:
可以通过聚类检测离群点,将类似的值组织成群或簇。
直观地,落在簇集合之外的值视为离群点。
2)使用习题1)给出的age数据,回答以下问题:
(a)使用min-max规范化,将age值35转换到[0.0,1.0]区间。
已知最大值为70,最小值为13,则可将35规范化为:
(b)使用z-score规范化转换age值35,其中,age的标准偏差为12.94年。
已知均值为30,标准差为12.94,则可将35规范化为:
(c)使用小数定标规范化转换age值35。
使用小数定标规范化可将35规范化为:
(d)指出对于给定的数据,你愿意使用哪种方法。
陈述你的理由。
对于给定的数据,你愿意使用min-max规范化。
理由是计算简单。
3)以下是一个商场所销售商品的价格清单(按递增顺序排列,括号中的数表示前面数字出现次数)1
(2)、5(5)、8
(2)、10(4)、12、14(3)、15(5)、18(8)、20(7)、21(4)、25(5)、28、30(3)。
请分别用等宽的方法和等高的方法对上面的数据集进行划分。
(1)等宽方法:
划分为3个数据集,每个数据集的宽度为价格10。
价格在1—10之间出现次数为13;价格在11—20之间出现的次数为24;价格在21—30之间出现的次数为13。
(2)等高方法:
划分为2个数据集,每个数据集的高度为出现的次数4。
出现次数1—4之间的价格为1、8、10、12、14、21、28、30,共8个数据;出现次数5—8之间的价格为5、15、18、20、25,共5个数据。
第四章关联规则
1)考虑如下的频繁3-项集:
{1,2,3},{1,2,4},{1,2,5},{1,3,4},{1,3,5},{2,3,4},{2,3,5},{3,4,5}。
(a)根据Apriori算法的候选项集生成方法,写出利用频繁3-项集生成的所有候选4-项集。
{1,2,3,4};{1,2,3,5};{1,2,4,5};{1,3,4,5};{2,3,4,5}
(b)写出经过剪枝后的所有候选4-项集.
{1,2,3,4};{1,2,3,5};
2)一个数据库有5个事务,如下表所示。
设min_sup=60%,min_conf=80%。
事务ID
购买的商品
T100
T200
T300
T400
T500
{M,O,N,K,E,Y}
{D,O,N,K,E,Y}
{M,A,K,E}
{M,U,C,K,Y}
{C,O,O,K,I,E}
(a)分别用Apriori算法和FP-growth算法找出所有频繁项集。
比较两种挖掘方法的效率。
Apriori算法
FP-growth算法
效率比较:
Apriori需多次扫描数据库而FP增长建立FP树只需一次的扫描。
在Apriori算法中产生候选是昂贵的(由于联接),而FP增长不产生任何候选,但是FP消耗了大量的内存,当数据量很大时。
(b)比较穷举法和Apriori算法生成的候选项集的数量。
穷举法:
M=2k-1=211-1=2047
Apriori算法:
23
(c)利用(a)所找出的频繁项集,生成所有的强关联规则和对应的支持度和置信度。
{O,K}—>{E},支持度0.6,置信度1
{O,E}—>{k},支持度0.6,置信度1
3)如下表所示的相依表汇总了超级市场的事务数据。
其中hotdogs指包含热狗的事务,hotdogs指不包含热狗的事务。
hamburgers指包含汉堡的事务,hamburgers指不包含汉堡的事务。
hotdogs
hotdogs
Σrow
Hamburgers
2,000
500
2,500
hamburgers
1,000
1,500
2,500
Σcol
3,000
2,000
5,000
假设挖掘出的关联规则是“hotdogs⇒hamburgers”。
给定最小支持度阈值25%和最小置信度阈值50%,这个关联规则是强规则吗?
s({hotdogs})=3000/5000=60%;
s({hotdogs,hamburgers})=2000/5000=40%
C({hotdogs}→{hamburgers})=40%/60%=66.7%
故这个关联规则是强规则。
计算关联规则“hotdogs⇒hamburgers”的提升度,能够说明什么问题?
购买热狗和购买汉堡是独立的吗?
如果不是,两者间存在哪种相关关系?
S({hamburgers})=2500/5000=50%
提升度lift({hotdogs}→{hamburgers})=C({hotdogs}→{hamburgers})/S({hamburgers})=1.334提升度大于1,表明hotdogs和hamburgers不是互相独立的,二者之间存在正相关关系。
第五章分类和预测
1)简述决策树分类的主要步骤。
决策树生成的过程如下:
(1)对数据源进行数据预处理,得到训练集和测试集;
(2)对训练集进行训练;
(3)对初始决策树进行树剪枝;
(4)由所得到的决策树提取分类规则;
(5)使用测试数据集进行预测,评估决策树模型;
2)考虑下表所示二元分类问题的数据集。
A
B
类标号
T
F
+
T
T
+
T
T
+
T
F
-
T
T
+
F
F
-
F
F
-
F
F
-
T
T
-
T
F
-
(a)计算按照属性A和B划分时的信息增益。
决策树归纳算法将会选择那个属性?
按照属性A和B划分时,数据集可分为如下两种情况:
A=T
A=F
+
4
0
-
3
3
B=T
B=F
+
3
1
-
1
5
划分前样本集的信息熵为
E=-0.4log20.4-0.6log20.6=0.9710
按照属性A划分样本集分别得到的两个子集(A取值T和A取值F)的信息熵分别为:
按照属性B划分样本集分别得到的两个子集(B取值T和B取值F)的信息熵分别为:
因此,决策树归纳算法将会选择属性A。
(b)计算按照属性A和B划分时Gini系数。
决策树归纳算法将会选择那个属性?
3)考虑下表数据集,请完成以下问题:
记录号
A
B
C
类
1
0
0
0
+
2
0
0
1
-
3
0
1
1
-
4
0
1
1
-
5
0
0
1
+
6
1
0
1
+
7
1
0
1
-
8
1
0
1
-
9
1
1
1
+
10
1
0
1
+
(a)估计条件概率P(A|+),P(B|+),P(C|+),P(A|-),P(B|-),P(C|-)。
P(A|+)=3/5
P(B|+)=1/5
P(C|+)=4/5
P(A|-)=2/5
P(B|-)=2/5
P(C|-)=1
(b)根据
(1)中的条件概率,使用朴素贝叶斯方法预测测试样本(A=0,B=1,C=0)的类标号;
假设P(A=0,B=1,C=0)=K
则K属于两个类的概率为:
P(+|A=0,B=1,C=0)=P(A=0,B=1,C=0)*P(+)/K
=P(A=0|+)P(B|+)P(C=0|+)×P(+)/K
=0.4*0.2*0.2*0.5/K=0.008/K
P(-|A=0,B=1,C=0)=P(A=0,B=1,C=0)×P(-)/K
=P(A=0|-)P(B|-)P(C=0|-)×P(-)/K
=0.4*0.2*0*0.5/K
=0/K
则得到,此样本的类标号是+
(c)使用Laplace估计方法,其中p=1/2,l=4,估计条件概率P(A|+),P(B|+),P(C|+),P(A|-),P(B|-),P(C|-)。
P(A|+)=(3+2)/(5+4)=5/9
P(A|-)=(2+2)/(5+4)=4/9
P(B|+)=(1+2)/(5+4)=1/3
P(B|-)=(2+2)/(5+4)=4/9
P(C|-)=(0+2)/(5+4)=2/9
(d)同
(2),使用(3)中的条件概率
假设P(A=0,B=1,C=0)=K
则K属于两个类的概率为:
P(+|A=0,B=1,C=0)=P(A=0,B=1,C=0)*P(+)/K
=P(A=0|+)P(B|+)P(C=0|+)*P(+)/K
=(4/9)*(1/3)*(1/3)*0.5/K
=0.0247/K
P(-|A=0,B=1,C=0)=P(A=0,B=1,C=0)*P(-)/K
=P(A=0|-)P(B|-)P(C=0|-)*P(-)/K
=(5/9)*(4/9)*(2/9)*0.5/K
=0.0274/K
则得到,此样本的类标号是-。
(e)比较估计概率的两种方法,哪一种更好,为什么?
当条件概率为0的时候,条件概率的预测用Laplace估计方法比较好,因为我们不想整个条件概率计算结果为0.
第六章聚类分析
1)什么是聚类?
简单描述如下聚类方法:
划分方法、层次方法、基于密度的方法,并为每一类方法给出例子。
聚类是将数据划分为相似对象组的过程,使得同一组中对象相似度最大而不同组中对象相似度最小。
(1)划分方法
给定一个有N个元组或者记录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K而且这K个分组满足下列条件:
第一,每一个分组至少包含一条记录;第二,每一条记录属于且仅属于一个分组(注意:
这个要求在某些模糊聚类算法中可以放宽);对于给定的K,算法首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案都较前一次好,而所谓好的标准就是:
同一分组中的记录越近越好,而不同分组中的记录越远越好。
使用这个基本思想的算法有:
K-MEANS算法、K-MEDOIDS算法、CLARANS算法。
(2)层次方法
这种方法对给定的数据集进行层次似的分解,直到某种条件满足为止。
具体又可分为“自底向上”和“自顶向下”两种方案。
例如在“自底向上”方案中,初始时每一个数据记录都组成一个单独的组,在接下来的迭代中,它把那些相互邻近的组合并成一个组,直到所有的记录组成一个分组或者某个条件满足为止。
代表算法有:
BIRCH算法、CURE算法、CHAMELEON算法等。
(3)基于密度的方法
基于密度的方法与其它方法的一个根本区别是:
它不是基于各种各样的距离,而是基于密度的。
这样就能克服基于距离的算法只能发现“类圆形”的聚类的缺点。
这个方法的指导思想就是:
只要一个区域中的点的密度大过某个阈值,就把它加到与之相近的聚类中去。
代表算法有:
DBSCAN算法、OPTICS算法、DENCLUE算法等。
(4)基于模型的方法
基于模型的方法给每一个聚类假定一个模型,然后去寻找能够很好的满足这个模型的数据。
这样一个模型可能是数据点在空间中的密度分布函数或者其它。
它的一个潜在假定就是:
目标数据集是由一系列的概率分布所决定的。
基于模型的方法主要有两类:
统计学方法和神经网络方法(SOM)。
2)聚类被广泛的认为是一种重要的数据挖掘方法,有着广泛的应用,对如下每种情况给出一个应用的例子:
a)采用聚类作为主要数据挖掘方法的应用;
如电子商务网站中的客户群划分。
根据客户的个人信息、消费习惯、浏览行为等信息,计算客户之间的相似度,然后采用合适的聚类算法对所有客户进行类划分;基于得到的客户群信息,相关的店主可以制定相应的营销策略,如交叉销售,根据某个客户群中的其中一个客户的购买商品推荐给另外一个未曾购买此商品的客户。
b)采用聚类作为预处理工具,为其它数据挖掘任务做数据准备的应用。
如电子商务网站中的推荐系统。
电子商务网站可以根据得到的客户群,采用关联规则或者隐马尔科夫模型对每个客户群生成消费习惯规则,检测客户的消费模式,这些规则或模式可以用于商品推荐。
其中客户群可以通过聚类算法来预先处理获取得到。
3)使用基于中心、邻近性和密度的方法,识别图中的簇。
对于每种情况指出簇个数,并简要给出你的理由。
注意,明暗度或点数指明密度。
如果有帮助的话,假定基于中心即K均值,基于邻近性即单链,而基于密度为DBSCAN.
(a)基于中心的方法有2个簇。
矩形区域被分成两半,同时2个簇里都包含了噪声数据;
基于邻近性的方法有1个簇。
因为两个圆圈区域受噪声数据影响形成一个簇;
基于密度的方法有2个簇,每个圆圈区域代表一个簇,而噪声数据会被忽略。
(b)基于中心的方法有1个簇,该簇包含图中的一个圆环和一个圆盘;
基于邻近性的方法有2个簇,外部圆环代表一个簇,内层圆盘代表一个簇;
基于密度的方法有2个簇,外部圆环代表一个簇,内层圆盘代表一个簇。
(c)基于中心的方法有3个簇,每个三角形代表一个簇;
基于邻近性的方法有1个簇,三个三角形区域会联合起来因为彼此相互接触;
基于密度的方法有3个簇,每个三角形区域代表一个簇。
即使三个三角形相互接触,但是所接触的区域的密度比三角形内的密度小。
(d)基于中心的方法有2个簇。
两组线被分到两个簇里;
基于邻近性的方法有5个簇。
相互缠绕的线被分到一个簇中;
基于密度的方法有2个簇。
这两组线定义了被低密度区域所分割的两个高密度的区域。