收藏 分销(赏)

关联规则和序列模式实验.docx

上传人:精**** 文档编号:2312164 上传时间:2024-05-27 格式:DOCX 页数:13 大小:92.43KB
下载 相关 举报
关联规则和序列模式实验.docx_第1页
第1页 / 共13页
关联规则和序列模式实验.docx_第2页
第2页 / 共13页
关联规则和序列模式实验.docx_第3页
第3页 / 共13页
关联规则和序列模式实验.docx_第4页
第4页 / 共13页
关联规则和序列模式实验.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、_一、实验目的与要求掌握关联规则和序列模式的基本原理,在此基础上针对给定的数据集,基于C语言编程实现关联规则挖掘算法和序列模式挖掘算法。二、实验内容1令supmin = 30%, 如频繁1项集L1= I1:4, I2:5,I3:4, I4:4, I6:3,请写出其他所有频繁项集。Transaction-idItems boughtt1I1、I2、I3t2I1、I4t3I4、I5t4I1、I2、I4t5I1、I2、I6、I4、I3t6I2、I6、I3t7I2、I3、I62基于C语言编程实现Apriori算法;3. 基于Weka进行数据的准备、预处理及关联规则与序列模式的挖掘三、实验步骤(操作界面

2、截图或程序清单)1. 令supmin = 30%, 如频繁1项集L1= I1:4, I2:5,I3:4, I4:4, I6:3,请写出其他所有频繁项集。Transaction-idItems boughtt1I1、I2、I3t2I1、I4t3I4、I5t4I1、I2、I4t5I1、I2、I6、I4、I3t6I2、I6、I3t7I2、I3、I6解:7*30%=2.1,则最小支持度等于3.频繁2项集:(1)连接得:C2=I1,I2,I1,I3,I1,I4,I1,I6,I2,I3,I2,I4,I2,I6,I3,I4,I3,I6,I4,I6(2)删除得:L2=I1,I2,I1,I4,I2,I3 ,I2

3、,I6,I3,I6频繁3项集:(1)连接得:C3=I1,I2,I4,I2,I3,I6(2)删除得:L3=I2,I3,I62. 基于C语言编程实现Apriori算法代码如下:#includetypedef struct int item100; /数据项 D_Node; /数据库Dtypedef struct int item100; /数据项,用item0保存支持度 C_Node; /候选集typedef struct int item100; /数据项,用item0保存支持度 L_Node;/频繁集C_Node C100100;L_Node L100100;D_Node D100;int m

4、in_supp; /最小支持度void InPut() int i,j,n,n1; printf(请输入最小支持度:); scanf(%d,&min_supp); printf(请输入交易集的大小:); scanf(%d,&D0.item0); n=D0.item0; for(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

5、 /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.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=D

6、i.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;/数据项的个数 /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);/print

7、f(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 if(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;

8、 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;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 /en

9、d 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=min_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.ite

10、m0=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) 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(频繁项

11、目集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(t支持度:%dn,Lni.item0); /for else printf(项目集为空n); int 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); 四、实验结果与分析1.略2.实验截图如下:Welcome ToDownload !欢迎您的下载,资料仅供参考!精品资料

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服