




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据挖掘Apriori算法报告1 .相关算法的概要关联规则的目的是发现数据集内的项目之间的关系,所以也称为购物蓝分析(market basketanalysis )。 例如,购买鞋子的客户有10%的可能性买袜子,买面包的客户有60%的可能性买牛奶。 其中最有名的例子是“尿布和啤酒”。 适用关联规则的情况。 在商业销售中,将关联规则用于交叉销售,可以获得更大的收入。在保险业务中,如果出现了很少看到的索赔组合,有可能是欺诈,需要进一步调查。 在医疗方面,能找到可能的治疗组合的银行,可以分析顾客,推荐感兴趣的服务等。 Apriori algorithm是关联规则的基本算法。 Rakesh Agraw
2、al于1994年提交的详细介绍请给这里Fast Algorithms for Mining Association Rules带来冲击。2 .相关算法的基本原理该算法的基本思想首先找到所有频率集,这些项集的出现频率至少与预定义的最小支持度相同。 接下来,从频率集合生成强关联规则,这些规则必须满足最小支撑度和最小可靠度。 然后,使用步骤1中发现的频率集来产生所希望的规则,产生仅包含集合的项的所有规则,其中,在各规则的右部只有一个项,在此采用了中央规则的定义。 一旦生成这些规则,只保留比用户所赋予的最小可靠度大的规则。 为了生成所有频率集,使用了递归的方法。(1) L1=find _ freque
3、nt _1- itemsets (d )/频繁地挖掘1-项集,所以比较简单(2)for (k=2; Lk-1 ; 开设k )(3)调用3)Ck=apriori_gen(Lk-1,min_sup) apriori_gen方法,频繁地生成k-项集的候选项(4)for each transaction t D /事务数据库d的扫描(5)Ct=subset(Ck,t )(6)for each candidate c Ct(7)c.count /统计候补频繁的k-项目集的数量(8)(9)满足lk= c-CK|c.countmin _ sup /最小支持度的k项目组合是频繁的k项目组合(10) (11 )
4、返回l=MMMK; /合并频繁的k-项目集(k0 )3 .相关算法的c简单实现(1)算法数据:使用Apriori算法挖掘指定的数据集,并找到其中频繁的数据集以生成关联规则。 挖掘下一个数据集。I1 I2 I5I1 I2I2 I4I1 I2 I4I1 I3I1 I2 I3 I5I1 I2 I3I2 I5I2 I3 I4I3 I4对于数据集,选择最小支持度minsup=2,最小可靠性minconf=0.8。(2)算法步骤:首先扫描数据集,计算各项目的支撑度,根据给出的最小支撑度明值,得到频繁收集的L1。然后通过连接运算,得到两个候补集,对各候补集再次扫描数据集,得到各候补集的支持度,与最小支持度进
5、行比较。 得到两个频繁的集合L2。这样做,直到新的候补组合产生为止。对所有发现的频繁集合,使用规则提取算法进行相关规则的提取。(3)C算法的简单实现首先,在项目名文件夹中独立定义date.txt文档的存储数据,在main函数中使用FILE* fp=fopen(date.txt , r )将数据导入算法中。int countL110; 找到各维频繁子集的出现次数。char curL1202; 实现出现的一维子集。因为给定的数据最多有4个,所以同样在四维中定义并传播数据。int countL210; /各二维频繁子集出现的次数char curL2203; /出现的二维子集int countL310
6、; /各三维频繁子集化的次数char curL3204; /出现的三维子集char cur504;通过定义int SizeStr(char* m )而获得的字符串的长度。 实现代码如下int SizeStr(char* m )举止int i=0;while(*(m i )!=0)举止I;以下返回I;以下比较两个字符串,如果相等则返回true,否则返回false布尔OPD (char * x,char* y )举止int i=0;if(SizeStr(x)=SizeStr(y ) )举止while(*(x i)=*(y i ) )举止I;if(*(x i)=0 *(y i)=0)返回真;以下以下
7、返回假;以下从void LoadItemL1(char *p )中获得所有的一元字符串和各自的出现次数void LoadItemL1(char *p )举止int i,j,n=0,k=0;char ch;char* s;PS;memset(cur,0,sizeof(cur ) );for(i=0; i20; PS )举止curL1i0=0;curL1i1=0;以下for(j=0; j10; j )countL1j=0;for(i=0; i10; PS )for(j=0; j4; j )举止ch=*(*(p i) j )PK (PK=0)break;curn0=ch;n;以下curl10=cur
8、 0;curL101=cur01;k=0;for(i=0; i50; PS )举止PS (PS I =0)break;s=curi;f=1;for(j=0; j=k; j )举止PS (PR (s,curL1j ) )举止f=0;break;以下以下if(f=1)举止k;curL1k0=curi0;curL1k1=curi1;以下以下for(i=0; i20; PS )for(j=0; j50; j )举止char* m;m=curL1i;if(*m=0)break;PS (PS (m,curj ) )countL1i;以下printf(L1: n );printf (项目集的支持度数n );
9、for(i=0; i10; PS )举止PS (X1 I =0)break;PS (计数L1 I =2)打印机( I % s : % dn ,curL1i,计数L1 I );以下以下用void SubItem2(char *p )得到所有的二维部分列void SubItem2(char *p )举止PS、j、k、n=0;char* s;memset(cur,0,sizeof(cur ) );for(i=0; i20; PS )举止curL2i0=0;curL2i1=0;curL2i2=0;以下for(i=0; i10; PS )计数L2 I =0;for(k=0; k10; k )举止s=*(p k )PS (PS (s )2)继续;for(i=0; i=2)打印( I % c,i%c:%dn ,curL2i0,curL2i1,countL2i );以下以下通过定义void SubItem3(char *p ),获得所有三维子列void SubItem3(char *p )举止char *s;PS、j、h、m;int n=0;memset(cur,0,sizeof(cur ) );for(j=0; j20; j )举止curL3j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030国内箱包行业市场发展分析及竞争格局与投资机会研究报告
- 2025-2030国内油墨行业市场发展现状及发展前景与投资机会研究报告
- 2025-2030国内化学肥料行业市场深度调研及发展前景与投资机会研究报告
- 2025-2030哑侍者电梯行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030吸尘器市场占有率调查及未来需求消费规模预测研究报告
- 2025-2030可再生离网能源收集行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030医用消毒袋市场需求现状调研及未来销售趋势预测研究报告
- 2025-2030包装印刷行业风险投资发展分析及投资融资策略研究报告
- 公牛托养合同样本
- 2025-2030全球及中国高密度磁盘箱行业市场现状供需分析及投资评估规划分析研究报告
- 铝合金门窗施工组织设计方案
- 高中生议论文写作有效教学的策略探讨
- 循环流化床锅炉床温的检修与维护
- 《易经》养生的奥秘课件
- 10 夺取抗日战争和人民解放战争的胜利(说课稿)-2022-2023学年道德与法治五年级下册
- 房屋出租分割证明
- 定制制氮机维修方案范本
- 2023年高考新课标Ⅰ卷语文试题分析及2024年高考语文备考策略 课件36张
- 河北省张承高速公路承德段施工标准化管理实施细则隧道篇
- 整合医学模式中国临床心身医学发展医疗健康课件
- 办公用品采购清单2022
评论
0/150
提交评论