数据挖掘实验报告-关联规则算法实验

摘要

计算机技术和通信技术的迅猛发展将人类社会带入到了信息时代。在最近十几年里,数据库中存储的数据急剧增大。例如,NASA轨道卫星上的地球观测系统EOS每小时会向地面发回50GB的图像数据;世界上最大的数据仓库之一,美国零售商系统Wal-Mart每天会产生2亿左右的交易数据;人类基因组数据库项目已经搜集了数以GB计的人类基因编码数据;大型天文望远镜每年会产生不少于10TB的数据,等等。大量的信息在给人们提供方便的同时也带来了一系列问题,由于信息量过大,超出人们掌握、理解信息的能力,因而给正确运用信息带来了困难。

数据挖掘和知识发现是一个涉及多学科的研究领域。数据库技术、人工智能、机器学习、统计学、粗糙集、模糊集、神经网络、模式识别、知识库系统、高性能计算、数据可视化等均与数据挖掘相关。

近年来,KDD(即与数据库的知识发现)研究领域已经成为热点,其中关联规则数据挖掘算法尤为引人注目。关联规则反映一个事物与其他事物之间的相互依存性和关联性。

IBM公司Almaden研究中心的R.Agrawal首先提出关联规则模型,并给出求解算法AIS。随后又出现了SETM和Apriori等算法。Apriori是关联规则模型中的经典算法。

关键词:数据挖掘 知识发现 Apriori算法 FP算法

一、问题重述

1.1相关信息

Apriori算法在发现关联规则领域具有很大影响力。算法命名源于算法使用了频繁项集性质的先验(prior)知识。在具体实验时,Apriori算法将发现关联规则的过程分为两个步骤:第一步通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集;第二步利用频繁项集构造出满足用户最小信任度的规则。其中,挖掘或识别出所有频繁项集是该算法的核心,占整个计算量的大部分。

在对深度优先数据挖掘算法的研究工作中,Han等人没有采用潜在频繁项集的方法求解频繁项集,而是提出了称为频率模式增长(FP_growth)的算法。该算法通过扫描数据库创建FP_tree的根节点并标示为null,对数据库D中的每一个事务Tran,按L中的次序对Tran中的频繁项排序,设Tran中排序后的频繁项列表[p|P],这里p是第一个元素,P是保留列表。接着调用函数insert_tree([p|P],T),如果树T有一个子节点N且N.item_name=p.item_name,就将N节点计数加1;否则就创建一个新节点N,设计数为1,它的父节点连接到T,节点连接到同名的节点连接结构上。如果P是非空的,就递归调用insert_tree(P,N)。由于压缩了数据库内容,并且在将频繁项写入FP_tree结构时,保留了项集间的相连信息。求解频繁项集的问题,就转化为递归地找出最短频繁模式并连接其后缀构成长频繁模式的问题。[1]

1.2问题重述

近年来,KDD(即与数据库的知识发现)研究领域已经成为热点,其中关联规则数据挖掘算法尤为引人注目。关联规则反映一个事物与其他事物之间的相互依存性和关联性。

IBM公司Almaden研究中心的R.Agrawal首先提出关联规则模型,并给出求解算法AIS。随后又出现了SETM和Apriori等算法。Apriori是关联规则模型中的经典算法。[1]

1、分析Apriori算法与FP算法的优缺点

2、分别使用两种算法找出频繁项集

3、挖掘出所有的强关联规则

4、实验数据如下表:

二、模型求解


2频繁项集的强关联

Confidence(A=>B)=P(B|A)=P(AB)/P(A)=3/4=0.75

Confidence(B=>A)=P(A|B)=P(AB)/P(B)=3/3=1

Confidence(A=>C)=P(C|A)=P(AC)/P(A)=4/4=1

Confidence(C=>A)=P(C|A)=P(AC)/P(C)=4/4=1

Confidencd(B=>C)=P(C|B)=P(BC)/P(B)=3/3=1

Confidence(C=>B)=P(B|C)=P(BC)/P(C)=3/4=0.75

在满足minconf = 80%的前提下,结果为:B=>AA=>CC=>A;B=>C

3频繁项集的强关联

Confidencd(AB=>C)=P(ABC)/P(AB)=3/3=1

Confidencd(AC=>B)=P(ABC)/P(AC)=3/4=0.75

Confidence(BC=>A)=P(ABC)/P(BC)=3/3=1

在满足minconf = 80%的前提下,结果为:AB=>C;BC=>A

利用FP一树算法求频繁项集

Procedure FP_growth(Tree,a)

(1) ifTree包含一个单一路径P then

(2)   for each 路径P中节点组合(记为β)

(3)     生成模式β∪α,拥有支持度为β节点中的最小支持度

(4) Else for each树的头列表节点αi{

(5)    生成模式β=αi∪β且support=ai.support

(6)    构成β的条件模式基和β的条件FP_Treeβ

(7)    IfTreeβ≠фthen

(8)      Call FP_growth(Treeβ,β);}[1]

FP-Tree算法使用频繁模式增长方法,第一次扫描与Apriori相同,它导出频繁项(1-项集)的集合,并得到它们的支持度计数(频繁性)。设最小支持度计数为2.频繁项的集合按支持度计数的递减序排序。结果集或表记作L,这样,我们有L={A:4,C:4,B:3}。

图为存放压缩的频繁模式信息的FP_tree:

三、模型评价

Apriori算法时间消耗的主要症结反映在两个方面,一是由于对海量数据库的多趟扫描,另一个是用JOIN产生潜在频繁项集。

FP-Tree结构在完备性方面,它不会打破交易中的任何模式,而且包含了挖掘序列模式所需的全部信息;在紧密性方面,它不剔除不相关信息,不包含非频繁项,按支持度降序排列,支持度高的项在FP-Tree中共享的机会也高。

性能研究显示FP-growth比Apriori快一个数量级,这是由于FP-growth不生成候选集,不用候选集测试,而且使用紧缩的数据结构,避免重复数据库扫描。[1]

四、参考文献

[1] 李雄飞 李军,《数据挖掘与知识发现》,北京:高等教育出版社,2003。

 
数据挖掘》 Weka实验报告 姓名 _ 学号_ 指导教师 开课学期 2015 至 2016 学年 2 学期 完成日期 2015年6月12日 1.实验目的 基于http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+WiscOnsin+%28Ori - ginal%29的数据,使用数据挖掘中的分类算法,运用Weka平台的基本功能对数据集进 行分类,对算法结果进行性能比较,画出性能比较图,另外针对不同数量的训练集进行 对比实验,并画出性能比较图训练并测试。 2.实验环境 实验采用Weka平台,数据使用来自http://archive.ics.uci.edu/ml/Datasets/Br- east+Cancer+WiscOnsin+%28Original%29,主要使用其中的Breast Cancer Wisc- onsin (Original) Data Set数据。Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。Weka使 用Java写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作 平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界 面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集, 并评估由不同的学习方案所得出的结果。 3.实验步骤 3.1数据预处理 本实验是针对威斯康辛州(原始)的乳腺癌数据集进行分类,该表含有Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size(均匀的细胞大小), Uniformity of Cell Shape (均匀的细胞形状),Marginal Adhesion(边际粘连),Single Epithelial Cell Size(单一的上皮细胞大小),Bare Nuclei(裸核),Bland Chromatin(平淡的染色质),Normal Nucleoli(正常的核仁), Mitoses(有丝分裂),Class(分类),其中第二项到第十项取值均为1- 10,分类中2代表良性,4代表恶性。 通过实验,希望能找出患乳腺癌客户各指标的分布情况。 该数据的数据属性如下: 1. Sample code number(numeric),样本代码; 2. Clump Thickness(numeric),丛厚度; 3.Uniformity of Cell Size(numeric)均匀的细胞大小; 4. Uniformity of Cell Shape(numeric),均匀的细胞形状; 5.Marginal Adhesion(numeric),边际粘连; 6.Single Epithelial Cell Size(numeric),单一的上皮细胞大小; 7.Bare Nuclei(numeric),裸核; 8.Bland Chromatin(numeric),平淡的染色质; 9. Normal Nucleoli(numeric),正常的核仁; 10.Mitoses(numeric),有丝分裂; 11.Class(enum),分类。 3.2数据分析 由http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+WiscOnsin+%28Ori- ginal%29得到一组由逗号隔开的数据,复制粘贴至excel表中,选择数据——分列——下 一步——逗号——完成,该数据是有关乳腺癌数据集,有11个属性,分别为Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size(均匀的细胞大小),Uniformity of Cell Shape (均匀的细胞形状),Marginal Adhesion(边际粘连),Single Epithelial Cell Size(单一的上皮细胞大小),Bare Nuclei(裸核),Bland Chromatin(平淡的染色质),Normal Nucleoli(正常的核仁), Mitoses(有丝分裂),Class(分类),因为复制粘贴过来的数据没有属性,所以手工 添加一行属性名。Weka分类数据需把excel保存为一个csv文件。 3.2.1 .csv -> .arff 将CSV转换为ARFF最迅捷的办法是使用WEKA所带的命令行工具。 打开weka,之后出现GUI界面,如图1所示: (图1) 点击进入"Exploer"模块,要将.csv 格式转换为 .arff格式,点击open file...,打开刚保存的"乳腺癌数据集.csv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值