ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:139.73KB ,
资源ID:8816901      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8816901.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据挖掘 实现Apriori算法.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据挖掘 实现Apriori算法.docx

1、数据挖掘 实现Apriori算法 实 验 报 告实验课程名称 数据挖掘 实验项目名称 实现Apriori算法 年 级 专 业 学生姓名 学 号 00 学 院实验时间: 年 月 日姓 名 学 号 实验组实验时间 指导教师 成 绩实验项目名称实现Apriori算法实验目的及要求:1.掌握Apriori算法原理2.用程序实现Apriori算法3.学会把Apriori算法应用到实际例子中去实验硬件及软件平台:Microsoft Windows XPC+实验内容(包括实验具体内容、算法分析、源代码等等):#includetypedef struct int item100; /数据项 D_Node; /

2、数据库Dtypedef struct int item100; /数据项,用item0保存支持度 C_Node; /候选集typedef struct int item100; /数据项,用item0保存支持度 L_Node;/频繁集C_Node C100100;L_Node L100100;D_Node D100;int min_supp; /最小支持度 void InPut() int i,j,n,n1; printf(请输入最小支持度:); scanf(%d,&min_supp); printf(请输入交易集的大小); scanf(%d,&D0.item0);n=D0.item0; fo

3、r(i=1;i=n;i+) /for1 printf(请输入交易%d中记录的个数(n),i); scanf(%d,&n1); Di.item0=n1; for(j=1;j=n1;j+) /for2 printf(请输入交易%d中记录项,直接输入数字:,i); scanf(%d,&Di.itemj); /for2 /for1 /end of InPutvoid C1() /功能:扫描数据集D生成1项候选集C1 /输入:数据集D /输出1项候选集C1 /初始条件 数据集D 非空 int i,j,k; int no=1,temp=0; C10.item0=0; /1 项集的个数,在本算法中,用Cnk

4、.item0来保存候选集Cn的第k项的支持度 if(D0.item0!=0) C11.item1=D1.item1; for(i=1;i=D0.item0;i+) /for1 for(j=1;j=Di.item0;j+) /for2 temp=1; for(k=1;k=no;k+) /for3 if(C1k.item1=Di.itemj) C1k.item0+; /支持度加1 temp=0; / /if /end for3 if(temp)/生成新的项集 C1+no.item1=Di.itemj; C1no.item0=1; /end for2 / end for1 C10.item0=no;

5、/数据项的个数 /end of C1()void Cn( int n) /用频繁集Ln-1为基础,通过连接得到n项候选集Cn int i,j,k,p,q,s,t,num; int no=0,temp=0,count; Cn0.item0=0; /初始化/printf(in Cn(%d) n=%d/n,n,n);/printf(in Cn(%d) C%d0.item0=%d/n,n,n,Cn0.item0);num=Ln-10.item0; /num是Ln-1项集的数据个数 for(i=1;i=num;i+) for(j=i+1;j2)/if 1 for(k=1;kn-1;k+) /for3 i

6、f(Ln-1i.itemk!=Ln-1j.itemk) temp=0; break; /if 1 /end for3 /end if1 if(temp=1)/满足联结条件 / printf(in if 2 no=%d/n,no); no+; for(p=1;p=n-1;p+) Cnno.itemp=Ln-1i.itemp; Cnno.itemp=Ln-1j.itemp-1; Cnno.item0=0; for(q=1;q=D0.item0;q+) /for5 测试其支持度 count=0; /count用来记数,当所测试的项存在时,count加1,当count=n时,则子集存在 for(s=1

7、;Cnno.items!=0;s+) /for6 for(t=1;t=Dq.item0;t+) /for7 if(Cnno.items=Dq.itemt) count+=1; break; /end for7 /end for 6 if(count=n) Cnno.item0+=1;/子集存在,第no项的支持度加1 /end for5 Cn0.item0+=1; /end if2 /end for2 /end of Cn()void L1() int i,j,k; j=0; L10.item0=0; /printf(C10.item0=%d/n,C10.item0); for(i=1;i=mi

8、n_supp) j+=1; for(k=1;k=1;k+) L1j.itemk=C1i.itemk; L1j.item0=C1i.item0; / printf(L1%d.item1=%d ,j,L1j.item1); 测试功能时加的 / printf( -%d/n,L1j.item0); /end for1 L10.item0=j;/end of L1()void Ln(int n) int i,j,k; Cn(n); j=0; Ln0.item0=0; / printf(in Ln(%d) C%d0.item0=%d/n,n,n,Cn0.item0); for(i=1;i=min_supp

9、) j+=1; for(k=1;k=n;k+) Lnj.itemk=Cni.itemk; Lnj.item0=Cni.item0; /end if /end for1 Ln0.item0=j; /保存数据的个数/end of Ln(int n) void OutPut(int n) int i,j,k; printf(频繁项目集L%d如下:n,n); k=Ln0.item0; if(k!=0) for(i=1;i=k;i+) printf(); for(j=1;j=n;j+) printf( I%d ,Lni.itemj); printf( 支持度:%dn,Lni.item0); /for else printf(项目集为空n); void main() int i; int n=1; InPut(); C1();/初始化,生成1项候选集C1 L1();/得到1项频繁集L1 while(Ln0.item0!=0) n+=1; Ln(n); for(i=1;i=n;i+) OutPut(i); / char ch; scanf(%d,&i); 实验结果与讨论:指导教师意见:签名: 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1