下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/* 这个程序是数据挖掘中的Apriori算法*/#include <stdio.h>#include<string.h>#define D 9 /*D数事务的个数*/#define MinSupCount 2 /*最小事务支持度数*/void main()/*这里的a,b,c,d,e 分别代表着书上数据挖掘那章的I1,I2,I3,I4,I5 */ char a1010='a','b','e','b','d','b','c','a','
2、b','d','a','c','b','c','a','c','a','b','c','e','a','b','c' char b20,d100,t,b210010,b2110010; int i,j,k,x=0,flag=1,c20=0,x1=0,i1=0,j1,counter=0,c1100=0,flag1=1,j2,u=0,c2100=0,n20,v=1;in
3、t count100,temp; for(i=0;i<D;i+) for(j=0;aij!='0'j+) /*这个循环是用来判断之前保存的是否和aij一样,不一样就保存,一样就不保存*/ for(k=0;k<x;k+) if(bk!=aij) ; else flag=0;break; /*这个if是用来判断是否相等*/ if(flag=1) bx=aij; x+; else flag=1;/*这个不保存,那就跳到下一个数*/ /*计算筛选出的元素的支持度计数*/ for(i=0;i<D;i+) for(j=0;aij!='0'j+) for(k
4、=0;k<x;k+)/*这个x是上面b数组中元素个数,用b数组和aij数组中的每一行和每一列进行比较,用来记录b数组每一个元素的支持度计数*/ if(aij=bk) ck+;break; /*对选出的项集进行筛选,选出支持度计数大于2的,并且保存到dx1数组中*/ for(k=0;k<x;k+) if(ck>=MinSupCount) dx1=bk;countx1=ck; x1+; /*对选出的项集中的元素进行排序*/ for(i=0;i<x1-1;i+) for(j=0;j<x1-i-1;j+) if(dj>dj+1) t=dj;dj=dj+1;dj+1=
5、t;temp=countj;countj=countj+1;countj+1=temp; /*打印出L1*/ printf("L1 elements are:n"); for(i=0;i<x1;i+) printf("%c = %d ",di,counti);if(0=(i+1)%3) printf("n"); printf("b n");/*计算每一行的元素个数,并且保存到n数组中*/ for(i=0;i<D;i+) for(j=0;aij!='0'j+); ni=j; /*对a数组的
6、每一行进行排序*/ for(i=0;i<D;i+) for(j=0;j<ni-1;j+) for(k=0;k<ni-j-1;k+) if(aik>aik+1) t=aik; aik=aik+1; aik+1=t; /*把L1中的每一个元素都放在b2i0中*/ j1=x1; for(i=0;i<j1;i+) b2i0=di; /*把L1中的元素进行组合,K=2开始,表示x1个元素选K个元素的组合*/ for(k=2;b200!='0'k+) /*u是用来计数组合总数的*/ u=0;v=1;/*v 是用来在进行输出各种组合的标识数 v=1 说明正在进行
7、输出*/ for(i=0;i<100;i+) c2i=0; for(i=0;i<j1;i+) for(i1=i+1;i1<j1;i1+) for(j=0;j<k-2;j+) if(b2ij!=b2i1j) flag1=0;break; /*进行组合的部分*/ if(flag1=1&&b2ik-2!=b2i1k-2) for(j2=0;j2<k-1;j2+) b21uj2=b2ij2; b21uk-1=b2i1k-2; u+; flag1=1; counter=0; for(i=0;i<D;i+)/*a数组有5行元素*/ for(i1=0;i1
8、<u;i1+)/*U 代表x1个元素选K个元素的所有组合总数*/ for(j1=0;j1<k;j1+)/*K 代表一个组合中的元素个数*/ for(j=0;aij!='0'j+)/*逐个比较每一行的元素*/ if(aij=b21i1j1) counter+; if(counter=k) c2i1+; /*把每种组合数记录在c2数组中*/counter=0; j1=0;temp=0;/*这里的temp 是用来分行*/*对u种情况进行选择,选出支持度计数大于2的*/ for(i=0;i<u;i+) if(c2i>=MinSupCount) if(v=1) printf("L%d elements are:n",k); v=0; printf(""); for(j=0;j<k;j+)/*输出每种组合k 个元素*/ b2j1j=b21ij; printf("%c,",b2j1j); j1+; printf("b"); printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外研版小学三年级上学期期中英语试题与参考答案
- 人教版英语初三上学期期中试卷及答案指导(2024年)
- 2024年住房城乡建委质监站事业单位招聘招考31人真题题库附参考答案
- 《犹太人的教育》课件
- 《齿轮齿条气动执行器》征求意见稿
- 《广告招贴设计》课件
- 《用友渠道政策》课件
- 对公开型劫持人质案件处置战术课件
- 《物业催费宝典》课件
- 《店长心态培训》课件
- 现代化工HSE技能大赛理论题库
- 兖州煤田东滩煤矿240万ta新井设计
- 举升机安全检查保养记录表
- (完整版)安全评价合同
- FMEA评价准则(RPN)
- 施工用水用电计算
- 水泥磨系统中控操作规程
- 房屋建筑和市政基础设施工程竣工联合验收办事指南
- 通用横版企业报价单模板
- 冀人版小学科学三年级上册教学课件 5.18《摩擦力》
- 企业会计准则之资产减值与资产评估
评论
0/150
提交评论