叶志伟数据挖掘验指导书(算法编程部分).doc

叶志伟数据挖掘验指导书(算法编程部分).doc

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

《数据挖掘与数据仓库》实验指导书 2013年 计算机学院计算应用 实验1 Apriori算法实现 一、实验目的 1、掌握Apriori算法对于关联规则挖掘中频繁集的产生以及关联规则集合的产生过程; 2、根据算法描述编程实现算法,调试运行。并结合相关实验数据进行应用,得到分析结果。 数据和删除数据的操作。 实验类型:综合 计划课间:2学时 二、实验内容 1、频繁项集的生成与Apriori算法实现; 2、关联规则的生成过程与Rule-generate算法实现; 3、结合样例对算法进行分析; 三、实验步骤 编写程序完成下列算法: 1、Apriori算法 输入: 数据集D;最小支持数minsup_count; 输出: 频繁项目集L L1={large 1-itemsets} For (k=2; Lk-1≠Φ; k++) Ck=apriori-gen (Lk-1); // Ck是k个元素的候选集 For all transactions t∈D do begin Ct=subset(Ck,t); //Ct是所有t包含的候选集元素 for all candidates c ∈Ct do c.count++; end Lk={c ∈Ck| c.count ≧ minsup_count } End L=∪Lk; 2、apriori-gen (Lk-1) 候选集产生算法 输入: (k-1)-频繁项目集Lk-1 输出: k-频繁项目集Ck For all itemset p∈Lk-1 do For all itemset q∈Lk-1 do If p.item1=q.item1, p.item2=q.item2, …,p.itemk-2=q.itemk-2, p.itemk-1q.itemk-1 then begin c=p∞q if has_infrequent_subset(c, Lk-1) then delete c else add c to Ck End Return Ck 3、has_infrequent_subset(c, Lk-1) 功能:判断候选集的元素 输入: 一个k-频繁项目集Lk-1 ,(k-1)-频繁项目集Lk-1 输出:c是否从候选集中删除的布尔判断 For all (k-1)-subsets of c do If Not(S∈Lk-1) THEN return TRUE; Return FALSE; 4、Rule-generate(L,minconf) 输入:频繁项目集;最小信任度 输出:强关联规则 算法: FOR each frequent itemset lk in L generules(lk,lk); 5、Genrules递归算法: Genrules(lk:frequent k-itemset, xm:frequent m-itemset) X={(m-1)-itemsets xm-1 | xm-1 in xm}; For each xm-1 in X BEGIN conf=support(lk)/support(xm-1); IF (conf≧minconf) THEN BEGIN 输出规则:xm-1-(lk-xm-1),support,confidence; IF (m-1)1) THEN genrules(lk,xm-1); END; END; 结合相关样例数据对算法进行调试,并根据相关实验结果对数据进行分析, 四、实验报告要求 1、用C语言或者其他语言实现上述相关算法。 2、实验操作步骤和实验结果,实验中出现的问题和解决方法。 五、注意事项 1、集合的表示及相关操作的实现; 2、项目集的数据结构描述; 参考核心代码如下:(相关的测试main函数可以自己书写。根据频繁k项集生成关联规则相对简单,只需要计算最小置信度即可从频繁K项集中找到所有的满足条件的关联规则。int init_pass(char *item,char tran[len_t][len],int len,char res_item[len_t][len],float min_sup) { float t_sup; int number=0; for(int i=0;ilen;i++) { int count=0;

文档评论(0)

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

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

1亿VIP精品文档

相关文档