apriori算法报告.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
apriori算法报告

实验设计报告 课程名称_ 数据挖掘 题目名称__apriori算法实验报告___ 学生学院___管理学院_____________ 专业班级_10信息管理与信息系统(4) 学号与姓名_3210004981范美红_ 3210004982黄嘉贤 3210004983黎玉莲_ 3210004984梁茹 3210004985 林嘉欣_ 指导教师_____刘国胜_________ 2013 年 05 月 04 日 apriori算法实验报告 一、实验目的 通过实验,加深数据挖掘中一个重要方法——关联分析的认识,其经典算法为Apriori算法Apriori算法Apriori算法 二、实验内容 对一数据集用Apriori算法,形式为,其中,是数据库中的数据项.数据项之间的关联规则即根据一个事务中某些项的出现,可推导出另一些项在同一事务中也出现。 四、Apriori算法 Apriori算法是发现关联规则领域的经典算法。该算法将发现关联规则的过程分为两个步骤:第一步通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集;第二步利用频繁项集构造出满足用户最小信任度的规则。具体做法就是:首先找出频繁1-项集,记为L1;然后利用L1来产生候选项集C2,对C2中的项进行判定挖掘出L2,即频繁2-项集;不断如此循环下去直到无法发现更多的频繁k-项集为止。每挖掘一Lk就需要扫描整个数据库一遍。Apriori算法可以很有效地找出数据集中存在的关联规则且能找出最大项的关联规则,但从以上的算法执行过程可以看到Apriori算法的缺点: 第一,在每一步产生侯选项目集时循环产生的组合过多,没有排除不应该参与组合的元素;第二,每次计算项集的支持度时,都对数据库D中的全部记录进行了一遍扫描比较,如果是一个大型的数据库的话,这种扫描比较会大大增加计算机系统的I/O开销。而这种代价是随着数据库的记录的增加呈现出几何级数的增加。因此人们开始寻求一种能减少这种系统1/O开销的更为快捷的算法。 七、实验程序 apriori01.m function y0 = apriori01( x0,pre,sup,conf,gain) %APRIORI Summary of this function goes here %arg x0:元数据 %arg pre:Ln-1的候选项集 %arg sup:支持度,整型 %arg conf:置信度, %arg gain:频繁候选项集数组,y0最后的返回值 [m n]=size(x0); %当候选项集为空时,也利用元数据排列出第一个候选项集,需要用到的方法 if isempty(pre) pre=eye(n); end [c d]=size(pre); %对候选项集进行支持度统计 num=zeros(c,1); %建立统计的数组,为c行1列,每一行对应每一个候选项集的统计数 for i=1:c count=0; for j=1:m %统计方法:候选项集减去元数据的每一行,如果是包含在元数据中,则all函数会等于1 temp = x0(j,:)-pre(i,:); if(all(temp=0)==1) count=count+1; end end %对每一个候选项集进行统计 num(i)=count; end %由频繁项集推出下一候选项集 next=[]; for k=1:c if(num(k)=sup) %支持度判定 gain=[gain;pre(k,:)]; %先将上一候选项集中符合支持度的加入gain候选项集数组 for l=k+1:c if(num(l)=sup) %x1和x2可以连接的条件 if(sum(abs(pre(l,:)-pre(k,:)))==2) temp=pre(l,:)+pre(k,:); %这里对于生成的下一候选项集进行数值处理,把加完之后大于1的全部变为1,方便后续计算 [a b]=size(temp); for h=1:b if(temp(h)1) temp(h)=

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档