文档详情

数据挖掘-实现Apriori算法.doc

发布:2017-01-08约5.73千字共11页下载文档
文本预览下载声明
实 验 报 告 实验课程名称 数据挖掘 实验项目名称 实现Apriori算法 年 级 专 业 学生姓名 学 号 00 学 院 实验时间: 年 月 日 姓 名 学 号 实验组 实验时间 指导教师 成 绩 实验项目名称 实现Apriori算法 实验目的及要求:1.掌握Apriori算法原理 用程序实现Apriori算法 学会把Apriori算法应用到实际例子中去 实验硬件及软件平台: Microsoft Windows XP C++ 实验内容(包括实验具体内容、算法分析、源代码等等): #includestdio.h typedef struct { int item[100]; //数据项 } D_Node; //数据库D typedef struct { int item[100]; //数据项,用item[0]保存支持度 } C_Node; //候选集 typedef struct { int item[100]; //数据项,用item[0]保存支持度 } L_Node;//频繁集 C_Node C[100][100]; L_Node L[100][100]; D_Node D[100]; int min_supp; //最小支持度 void InPut() { int i,j,n,n1; printf(请输入最小支持度:); scanf(%d,min_supp); printf(请输入交易集的大小); scanf(%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 }//end of InPut void C1() { //功能:扫描数据集D生成1项候选集C1 //输入:数据集D //输出1项候选集C1 //初始条件 数据集D 非空 int i,j,k; int no=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++) //for3 { if(C[1][k].item[1]==D[i].item[j]) { C[1][k].item[0]++; //支持度加1 temp=0; // } //if }//end for3 if(temp)
显示全部
相似文档