当前位置:文档之家› 数据挖掘作业

数据挖掘作业

1、给出K D D的定义和处理过程。

KDD的定义是:从大量数据中提取出可信的、新颖的、有用的且可以被人理解的模式的高级处理过程。

因此,KDD是一个高级的处理过程,它从数据集中识别出以模式形式表示的知识。

这里的“模式”可以看成知识的雏形,经过验证、完善后形成知识:“高级的处理过程”是指一个多步骤的处理过程,多步骤之间相互影响反复调整,形成一种螺旋式上升的过程。

KDD的全过程有五个步骤:1、数据选择:确定发现任务的操作对象,即目标数据,它是根据用户的需要从原始数据库中抽取的一组数据;2、数据预处理:一般可能包括消除噪声、推到技术却只数据、消除重复记录、完成数据类型转换等;3、数据转换:其主要目的是消减数据维数或降维,即从初始特征中找出真正有用的特征以减少数据开采时要考虑的特征或变量个数;4、数据挖掘:这一阶段包括确定挖掘任务/目的、选择挖掘方法、实施数据挖掘;5、模式解释/评价:数据挖掘阶段发现出来的模式,经过用户或机器的评价,可能存在冗余或无关的模式,需要剔除;也有可能模式不满足用户的要求,需要退回到整个发现阶段之前,重新进行KDD过程。

2、阐述数据挖掘产生的背景和意义。

?数据挖掘产生的背景:随着信息科技的进步以及电子化时代的到来,人们以更快捷、更容易、更廉价的方式获取和存储数据,使得数据及信息量以指数方式增长。

据粗略估计,一个中等规模企业每天要产生100MB以上的商业数据。

而电信、银行、大型零售业每天产生的数据量以TB来计算。

人们搜集的数据越来越多,剧增的数据背后隐藏着许多重要的信息,人们希望对其进行更高层次的分析,以便更好的利用这些数据。

先前的数据库系统可以高效的实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系与规则,无法根据现有的数据来预测未来的发展趋势。

缺乏挖掘数据背后隐藏的知识的手段。

导致了“数据爆炸但知识贫乏”的现象。

于是人们开始提出“要学会选择、提取、抛弃信息”,并且开始考虑:如何才能不被信息淹没?如何从中及时发现有用的知识、提高信息利用率?如何从浩瀚如烟海的资料中选择性的搜集他们认为有用的信息?这给我们带来了另一些头头疼的问题:第一是信息过量,难以消化;第二是信息真假难以辨别;第三是信息安全难以保证;第四是信息形式不一致,难以统一处理?面对这一挑战,面对数量很大而有意义的信息很难得到的状况面对大量繁杂而分散的数据资源,随着计算机数据仓库技术的不断成熟,从数据中发现知识(Knowledge?Discovery?in?Database)及其核心技术——数据挖掘(Data?Mining)便应运而生,并得以蓬勃发展,越来越显示出其强大的生命力。

数据挖掘的意义:数据挖掘之所以被称为未来信息处理的骨干技术之一,主要在于它正以一种全新的概念改变着人类利用数据的方式。

在20世纪,数据库技术取得了重大的成果并且得到了广泛的应用。

但是,数据库技术作为一种基本的信息储存和管理方式,仍然是以联机事务处理为核心应用,缺少对决策、分析、预测等高级功能的支持机制。

众所周知,随着硬盘存储容量及的激增以及磁盘阵列的普及,数据库容量增长迅速,数据仓库以及Web等新型数据源出现,联机分析处理、决策支持以及分类、聚类等复杂应用成为必然。

面对这样的挑战,数据挖掘和知识发现技术应运而生,并显现出强大的生命力。

数据挖掘和知识发现使数据处理技术进入了一个更加高级的阶段。

它不仅能对过去的数据进行查询,而且能够找出过去数据之间的潜在联系,进行更高层次的分析,以便更好地作出决策、预测未来的发展趋势等等。

通过数据挖掘,有价值的知识、规则或更高层次的信息就能够从数据库的相关数据集合中抽取出来,从而使大型数据库作为一个丰富、可靠的资源为知识的提取服务。

3、给出一种关联规则的算法描述,并举例说明。

Apriori算法描述:Apriori算法由Agrawal等人于1993年提出,是最有影响的挖掘布尔关联规则频繁项集的算法,它通过使用递推的方法生成所有频繁项目集。

基本思想是将关联规则挖掘算法的设计分解为两步:(1)找到所有频繁项集,含有?k?个项的频繁项集称为?k-项集。

Apriori使用一种称作逐层搜索的迭代方法,k-项集用于探索(k+1)-项集。

首先,出频繁?1-项集的集合。

该集合记作L1。

L1用于找频繁?2-项集的集合L2,而L2用于找L3,如下去,直到不能找到频繁k-项集。

找出每个Lk都需要一次数据库扫描。

为提高频繁项集层产生的效率,算法使用Apriori性质用于压缩搜索空间。

(2)使用第一步中找到的频繁项集产生关联规则。

从算法的基本思想可知,Apriori算法的核心和关键在第一步。

而第一步的关键是如何将Apriori性质用于算法,利用Lk?-?1找Lk。

这也是一个由连接和剪枝组成的两步过程:(1)连接步:为找Lk,通过Lk?-1与自己连接产生候选k-项集的集合。

该候选项集的集合记作Ck。

设l1和l2是Lk?-?1中的项集。

记号li[j]表示li的第j项(例如,l1[k-2]表示l1的倒数第3项)。

为方便计,假定事务或项集中的项按字典次序排序。

执行连接Lk?-??1?Lk?-??1;其中,Lk?-?1的元素是可连接的,如果它们前(k-2)项相同;即Lk?-?1的元素l1和l2是可连接的,如果(l1[1]?=?l2[1])?∧?(l1[2]?=?l2[2])?∧?...?∧?(l1?[k-2]?=?l2?[k-2])?∧?(l1?[k-1]?<?l2?[k-1])。

条件(l1[k-1]?<?l2[k-1])是简单地保证不产生重复。

连接l1和l2产生的结果项集是l1[1]?l1[2]...?l1?[k-1]?l2[k-1]。

(2)剪枝步:Ck是Lk的超集;即,它的成员可以是,也可以不是频繁的,但所有的频繁k-项集都包含在Ck中。

扫描数据库,确定Ck中每个候选的计数,从而确定Lk(即,根据定义,计数值不小于最小支持度计数的所有候选是频繁的,从而属于Lk)。

然而,Ck可能很大,这样所涉及的计算量就很大。

为压缩Ck,可以用以下办法使用Apriori 性质:任何非频繁的(k-1)-项集都不可能是频繁k-项集的子集。

因此,如果一个候选k-项集的(k-1)-子集不在Lk?-?1中,则该候选也不可能是频繁的,从而可以由Ck中删除。

Apriori算法举例:如有如下数据每一行表示一条交易,共有9行,既9笔交易,左边表示交易ID,右边表示商品名称。

最小支持度是22%,那么每件商品至少要出现9*22%=2次才算频繁。

第一次扫描数据库,使得在每条交易中,按商品名称递增排序。

第二次扫描数据,找频繁项集为1的元素有:左边表示商品名称,右边表示出现的次数,都大于阈值2。

在此基础上找频繁项集是2的元素,方法是两两任意组合,第三次扫描数据得到它们出现的次数:此时就有规律性了,在频繁项集为K的元素上找频繁项集为K+1的元素的方法是:在频繁项集为K的项目(每行记录)中,假如共有N行,两两组合,满足两两中前K-1个元素相同,只后一个元素要求前一条记录的商品名称小于后一条记录的商品名称,这样是为了避免重复组合,求它们的并集得到长度为K+1的准频繁项集,那么最多共有Apriori算法种可能的组合,有:想想如果N很大的话,Apriori算法是一个多么庞大的数字,这时就要用到Apriori 的核心了:如果K+1个元素构成频繁项集,那么它的任意K个元素的子集也是频繁项集。

然后将每组K+1个元素的所有长度为K的子集,有Apriori算法中组合,在频繁项集为K的项集中匹配,没有找到则删除,用第一条记录{I1,I2,I3}它的长度为2的频繁项集有:Apriori算法分别是:{I1,I2},{I1,I3},{I2,I3}种情况,幸好这三种情况在频繁项集为2的项集中都找到了。

通过这步过滤,得到的依旧是准频繁项集,它们是:此时第四次扫描数据库,得到真正长度为3的频繁项集是:因为{I1,I2,I4}只出现了1次,小于最小支持度2,删除。

就这个例子而言,它的最大频繁项集只有3,就是{I1,I2,I3}和{I1,I2,I5}。

4、给出一种聚类算法描述,并举例说明。

k-means 算法是一种属于划分方法的聚类算法,通常采用欧氏距离作为2 个样本相似程度的评价指标,其基本思想是:随机选取数据集中的k 个点作为初始聚类中心,根据数据集中的各个样本到k 个中心的距离将其归到距离最小的类中,然后计算所有归到各个类中的样本的平均值,更新每个类中心,直到平方误差准则函数稳定在最小值。

算法步骤:1.为每个聚类确定一个初始聚类中心,这样就有K?个初始聚类中心。

??2.将样本集中的样本按照最小距离原则分配到最邻近聚类???3.使用每个聚类中的样本均值作为新的聚类中心。

?4.重复步骤2.3步直到聚类中心不再变化。

k-means算法举例:数据对象集合S见下表,作为一个聚类分析的二维样本,要求的簇的数量k=2。

(1)选择 , 为初始的簇中心,即 , (2)对剩余的每个对象,根据其与各个簇中心的距离,将它赋给最近的簇。

对 : 显然,故将 分配给 对于 : 因为,所以将 分配给 对于: 因为,所以将 分配给 更新,得到新簇 和 计算平方误差准则,单个方差为总体平均方差是: (3)计算新的簇的中心。

重复(2)和(3),得到O 1分配给C 1;O 2分配给C 2,O 3分配给C 2 ,O 4分配给C 2,O 5分配给C 1。

更新,得到新簇 和 。

中心为, 。

单个方差分别为总体平均误差是: 由上可以看出,第一次迭代后,总体平均误差值52.25~25.65,显着减小。

由于在两次迭代中,簇中心不变,所以停止迭代过程,算法停止。

5、 给出一种分类的算法描述,并举例说明。

决策树算法是数据挖掘领域的核心分类算法之一,其中ID3算法是最为经典的决策树算法。

ID3算法理论清晰、使用简单、学习能力较强,且构造的决策树平均深度较小,分类速度较快,特别适合处理大规模的学习问题,目前已得到广泛应用。

在ID3决策树归纳方法中,通常是使用信息增益方法来帮助确定生成每个节点时所应采用的合适属性。

这样就可以选择具有最高信息增益(熵减少的程度最大)的属性最为当前节点的测试属性,以便对之后划分的训练样本子集进行分类所需要的信息最小,也就是说,利用该属性进行当前(节点所含)样本集合划分,将会使()10,2O 20,0O ()110,2M O ==()220,0M O ==3O ()13, 2.5dM O ==()23, 1.5d M O ==()()2313,,d M O d M O ≤3O 2C 4O ()14,dM O ==()24,5MO ==()()2414,,d M O d M O ≤4O 5O ()15,5d M O ==()25,d M O ==()()1525,,d M O d M O ≤5O 1C {}115,C O O ={}2234,,C O O O =()())(()222210022052225E ⎡⎤⎤⎡=-+-+-+-=⎣⎣⎦⎦122527.2552.25E E E =+=+=()()()()2,5.2222,2501=++=M {}115,C O O ={}2234,,C O O O =()2,5.21=M ()2 2.17,0M =()())(()222210 2.522 2.552212.5E ⎡⎤⎤⎡=-+-+-+-=⎣⎣⎦⎦得所产生的样本子集中的“不同类别的混合程度”降为最低。

相关主题