频繁模式挖掘算法(Apriori).doc

频繁模式挖掘算法(Apriori).doc

ID:59123914

大小:79.00 KB

页数:12页

时间:2020-09-13

频繁模式挖掘算法(Apriori).doc_第1页
频繁模式挖掘算法(Apriori).doc_第2页
频繁模式挖掘算法(Apriori).doc_第3页
频繁模式挖掘算法(Apriori).doc_第4页
频繁模式挖掘算法(Apriori).doc_第5页
资源描述:

《频繁模式挖掘算法(Apriori).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一频繁模式挖掘算法(Apriori)一、实验目的1、理解频繁模式和关联规则2、掌握频繁模式挖掘算法Apriori3、为改进Apriori打下基础二、实验内容1、选定一个数据集(可以参考教学中使用的数据集)2、选择合适的实现环境和工具实现算法,本次试验采用的是C++3、根据设置的最小支持度和置信度,给出数据集的频繁模式集三、实验原理该算法的基本思想是:Apriori使用一种称作逐层搜索的迭代方法,k项集用于探索(k+1)项集。首先,通过扫描数据库,累积每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合。该集合记作L1

2、.然后,L1用于找频繁2项集的集合L2,L2用于找L3,如此迭代,直到不能再找到频繁k项集。找每个Lk需要一次数据库全扫描。Apriori性质:频繁项集的所有非空子集也必是频繁的。Apriori算法主要包括连接步和剪枝步两步组成。在连接步和剪枝步中采用Apriori性质可以提高算法的效率。Apriori伪代码算法:Apriori输入:D- 事务数据库;min_sup- 最小支持度计数阈值输出:L-D中的频繁项集方法:     L1=find_frequent_1-itemsets(D);// 找出所有频繁1项集     For(

3、k=2;Lk-1!=null;k++){        Ck=apriori_gen(Lk-1);// 产生候选,并剪枝        Foreach 事务tinD{// 扫描D进行候选计数            Ct =subset(Ck,t);// 得到t的子集            Foreach 候选c 属于 Ct                         c.count++;        }        Lk={c属于Ck 

4、c.count>=min_sup}}ReturnL=所有的频繁集;Procedure

5、apriori_gen(Lk-1:frequent(k-1)-itemsets)      Foreach项集l1属于Lk-1              Foreach项集 l2属于Lk-1                       If((l1[1]=l2[1])&&(l1[2]=l2[2])&&……..&&(l1[k-2]=l2[k-2])&&(l1[k-1]

6、quent_subset(c,Lk-1)then                       deletec;//剪枝步:删除非频繁候选                   elseaddctoCk;                  }          ReturnCk;     Procedurehas_infrequent_sub(c:candidatek-itemset;Lk-1:frequent(k-1)-itemsets)        Foreach(k-1)-subsetsofc            Ifs不

7、属于Lk-1 then               Returntrue;        Returnfalse;四、实验要求1、数据集具有一定的代表性,可以使用数据库技术管理2、最小支持度和置信度可以设置3、实现界面友好4、提交实验报告:实验题目、目的、数据集描述、实验环境、过程、结果和分析等。五、实验步骤1、所采用的数据集I1I2I5I1I2I2I4I1I2I4I1I3I1I2I3I5I1I2I3I2I5I2I3I4I3I4对于数据集,取最小支持度min_sup=2,最小置信度min_conf=0.8。2、算法步骤①首先单趟

8、扫描数据集,计算各个一项集的支持度,根据给定的最小支持度闵值,得到一项频繁集L1。②然后通过连接运算,得到二项候选集,对每个候选集再次扫描数据集,得出每个候选集的支持度,再与最小支持度比较。得到二项频繁集L2。③如此进行下去,直到不能连接产生新的候选集为止。④由频繁项集产生关联规则,关联规则产生步骤如下:1)对于每个频繁项集l,产生其所有非空真子集;2)对于每个非空真子集s,如果support_count(l)/support_count(s)>=min_conf,则输出 s->(l-s),其中,min_conf是最小置信度阈值

9、。3、程序实现1)首先要在工程名文件夹里自己定义date.txt文档存放数据,然后在main函数中用FILE*fp=fopen("date.txt","r");将数据导入算法。2)定义intcountL1[10];找到各一维频繁子集出现的次数。定义charcur

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

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

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