- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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;
您可能关注的文档
最近下载
- 小学1-6年级必背古诗词115首(A4打印版).pdf
- 校对符号及其用法.doc VIP
- 大气污染控制工程课程设计.docx VIP
- 2022小学学生寒假体育家庭作业清单方案(详细版).pdf
- 一年级100以内加减法混合练习题(A4打印).pdf VIP
- 2024年四大名著三国演义知识竞赛题库及答案(共100题).pdf
- 2024年邵阳职业技术学院单招职业技能测试题库及答案(典优).docx VIP
- 广告标识牌采购投标方案(技术标360页).docx
- CNAS-SC170:2024 信息安全管理体系认证机构认可方案.docx VIP
- GB50156-2012(2014年版) 汽车加油加气站设计与施工规范.pdf
文档评论(0)