数据挖掘 - 副本new

数据挖掘 - 副本new

ID:36970230

大小:126.00 KB

页数:7页

时间:2019-05-16

数据挖掘 - 副本new_第1页
数据挖掘 - 副本new_第2页
数据挖掘 - 副本new_第3页
数据挖掘 - 副本new_第4页
数据挖掘 - 副本new_第5页
资源描述:

《数据挖掘 - 副本new》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一、Apriori算法简介Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。 该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这

2、里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。二、Apriori算法步骤1.连接步为找Lk,通过Lk-1与自己连接产生候选k2项目集的集合。该候选项的集合记做Ck。设l1和l2是Lk-1中的项集。记号li[j]表示li的第j项。执行连接Lk-1∞Lk-1其中Lk-1的元素l1和l2是可以连接的,如果(l1[1]=l2[1])∩(l1[2]=l2[2])∩⋯(l1[k-2]=l2[k-2])∩(l1[k-1]=

3、l2[k-1])连接产生的结果项集是l1[1]l1[2]⋯l1[k-1]2[k-1]。2.剪枝步Ck的成员可以是也可以不是频繁的,但所有的频繁k2项目集都包含在Ck中扫描数据库,确定Ck中每个候选集计数(设置一个标志位Flag)。从而确定Lk。三、Apriori算法演示1.事物数据表扫描D,对每个候选计数2.Apriori算法图解项集比较候选支持度计数与最小支持度计数支持度计数1627364252项集支持度计数1627364252项集扫描D,对每个候选计数由L1产生的候选C21,21,31,41

4、,52,32,42,53,43,54,5项集支持度计数1,241,341,411,522,342,422,523,403,514,50项集支持度计数1,241,341,522,342,422,52比较候选支持度计数与最小支持度计数由L2产生的候选C3项集1,2,31,2,5比较候选支持度计数与最小支持度计数扫描D,对每个候选计数项集支持度计数1,2,321,2,52项集支持度计数1,2,321,2,52一、Apriori算法核心代码1.扫描数据库,对每个候选码进行计数2.比较候选码支持度计数与最

5、小支持度计数3.产生下一步的项集,并进行剪枝核心代码如下:1.//得到的候选集publicclassgetLn{LinkedHashSetC1;//得到频繁1项集publicLinkedHashSetgetSources(){C1=newLinkedHashSet();LinkedHashSethashSet=newLinkedHashSet();//从数据库中得到值Stringsql="select*fromdatasourse";//事务解析排

6、序while(rs.next()){strings=rs.getString("list").split(",");………………………………………………………………}//获得支持度计数publicintgetSupcount(Stringitem){//把"1,2"解析成"%1%2%"形式,以便在数据库中计算支持度计数{………………………………………………………………………………}}//得到Ln集合publicLinkedHashMapgettingLn(Link

7、edHashSetCk2,intmin_support){LinkedHashMapLn=newLinkedHashMap=min_support)Ln.put(temp[i],sup_count);1.筛选//把Linkedhashset中的项合并成list中的一个元素,即把12变成2,1publicclassJoint{};//连接操作,得到候选集Ck,每个事务的项不

8、超过20个publicLinkedHashSetlink(intk,LinkedHashSetLn){//把Ln中的每个事物解析到hashSet数组中LinkedHashSet[]hashSets=newLinkedHashSet[Ln.size()];//生成的候选集LinkedHashSetCk=newLinkedHashSet();//得到的候选项Stringcandi_item=newString();//则得到新的候选项//生成了新的候选项,并把候选项放

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

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

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