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

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

ID:55173201

大小:82.19 KB

页数:12页

时间:2020-04-30

关联规则和序列模式实验.docx_第1页
关联规则和序列模式实验.docx_第2页
关联规则和序列模式实验.docx_第3页
关联规则和序列模式实验.docx_第4页
关联规则和序列模式实验.docx_第5页
资源描述:

《关联规则和序列模式实验.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一、实验目的与要求掌握关联规则和序列模式的基本原理,在此基础上针对给定的数据集,基于C语言编程实现关联规则挖掘算法和序列模式挖掘算法。二、实验内容1.令supmin=30%,如频繁1项集L1={{I1}:4,{I2}:5,{I3}:4,{I4}:4,{I6}:3},请写出其他所有频繁项集。Transaction-idItemsboughtt1I1、I2、I3t2I1、I4t3I4、I5t4I1、I2、I4t5I1、I2、I6、I4、I3t6I2、I6、I3t7I2、I3、I62.基于C语言编程实现Apriori算法;3.基于Wek

2、a进行数据的准备、预处理及关联规则与序列模式的挖掘三、实验步骤(操作界面截图或程序清单)1.令supmin=30%,如频繁1项集L1={{I1}:4,{I2}:5,{I3}:4,{I4}:4,{I6}:3},请写出其他所有频繁项集。Transaction-idItemsboughtt1I1、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},{I

3、1,I4},{I1,I6},{I2,I3},{I2,I4},{I2,I6},{I3,I4},{I3,I6},{I4,I6}}(2)删除得:L2={{I1,I2},{I1,I4},{I2,I3},{I2,I6},{I3,I6}}频繁3项集:(1)连接得:C3={{I1,I2,I4},{I2,I3,I6}}(2)删除得:L3={{I2,I3,I6}}2.基于C语言编程实现Apriori算法代码如下:#includetypedefstruct{intitem[100];//数据项}D_Node;//数据库Dtypede

4、fstruct{intitem[100];//数据项,用item[0]保存支持度}C_Node;//候选集typedefstruct{intitem[100];//数据项,用item[0]保存支持度}L_Node;//频繁集C_NodeC[100][100];L_NodeL[100][100];D_NodeD[100];intmin_supp;//最小支持度voidInPut(){inti,j,n,n1;printf("请输入最小支持度:");scanf("%d",&min_supp);printf("请输入交易集的大小:");s

5、canf("%d",&D[0].item[0]);n=D[0].item[0];for(i=1;i<=n;i++)//for1{printf("请输入交易[%d]中记录的个数(n):",i);scanf("%d",&n1);D[i].item[0]=n1;for(j=1;j<=n1;j++)//for2{printf("请输入交易[%d]中记录项,直接输入数字:",i);scanf("%d",&D[i].item[j]);}//for2}//for1}//endofInPutvoidC1(){//功能:扫描数据集D生成1项候选集C

6、1//输入:数据集D//输出1项候选集C1//初始条件数据集D非空inti,j,k;intno=1,temp=0;C[1][0].item[0]=0;//1项集的个数,在本算法中,用C[n][k].item[0]来保存候选集Cn的第k项的支持度if(D[0].item[0]!=0){C[1][1].item[1]=D[1].item[1];}for(i=1;i<=D[0].item[0];i++)//for1{for(j=1;j<=D[i].item[0];j++)//for2{temp=1;for(k=1;k<=no;k++)/

7、/for3{if(C[1][k].item[1]==D[i].item[j]){C[1][k].item[0]++;//支持度加1temp=0;//}//if}//endfor3if(temp)//生成新的项集{C[1][++no].item[1]=D[i].item[j];C[1][no].item[0]=1;}}//endfor2}//endfor1C[1][0].item[0]=no;//数据项的个数}//endofC1()voidCn(intn){//用频繁集Ln-1为基础,通过连接得到n项候选集Cninti,j,k,p,

8、q,s,t,num;intno=0,temp=0,count;C[n][0].item[0]=0;//初始化//printf("inCn(%d)n=%d/n",n,n);//printf("inCn(%d)C[%d][0].item[0]=%d/n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。