- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据挖掘》课程作业
题目 基于关联规则Apriori算法的事务数据挖掘
班级
学号
姓名
日期 2010.06.13
目 录
一、 引言 2
二、 正文 2
1.背景 2
2.算法思想 2
3.数据集 3
4.源代码 3
5.算法流程 16
6.运行结果……………………………………………………………………16
三、 结论 17
四、 参考文献 18
引言
随着网络、数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。由此,数据挖掘技术应运而生。数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。它是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。简而言之,数据挖掘其实是一类深层次的数据分析方法。从这个角度数据挖掘也可以描述为:按企业制定的业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。Apriori算法,但随着对关联规则研究的深入,它的缺点也暴露出来了。本文将对数据挖掘的一种经典算法Apriori算法对于事务项目数据的挖掘应用。
二、正文
1、背景
自1994年由Agrawal等人提出的关联规则挖掘Apriori的算法从其产生到现在,对关联规则挖掘方面的研究有着很大的影响。Apriori 算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。算法基于这样的事实:算法使用频繁项集性质的先验知识。Apriori 使用一种称作逐层搜索的迭代方法,k-项集用于探索(k+1)-项集。首先,找出频繁1-项集的集合。该集合记作L1。L1 用于找频繁2-项集的集合L2,而L2 用于找L3,如此下去,直到不能找到频繁k-项集。找每个Lk?需要一次数据库扫描。为提高频繁项集逐层产生的效率,一种称作Apriori 性质的重要性质用于压缩搜索空间。
为了提高频繁项目集逐层产生的效率,Apriori算法利用了两个重要的性质用于压缩搜索空间:
??? (l)若X是频繁项集,则x的所有子集都是频繁项集。
??? (2)若x是非频繁项集,则X的所有超集都是非频繁项集。
2、算法思想
??? 算法: Apriori算法,使用逐层迭代找出频繁项集。
??? 输入:事务数据库D;最小支持度阈值min_sup。
??? 输出:D 中的频繁项集L。
??? 1) L1 = find_frequent_1_itemsets(D);
??? 2) for (k = 2; Lk-1?≠ ; k++) {
??? 3) Ck?= aproiri_gen(Lk-1,min_sup);
??? 4) for each transaction t D{ //scan D for count
??? 5) Ct?= subset(Ck,t); //get subsets of t that are candidates
??? 6) for each candidate c Ct
??? 7) c.count++;
??? 8) }
??? 9) Lk={c Ck?| c.count ≥ min_sup}
??? 10) }
??? 11) return L = ∪kLk;
3、数据集
我用的的是一个事务数据集,数据集存在一个transaction数据库中,数据库中有三个表:customer、tranDB、transactionDB,存有事务和项目的数据
Transactiondb:
tranDB:
Customer:
4、源代码
// AprioriView.cpp : implementation of the CAprioriView class
//
#include stdafx.h
#include Apriori.h
#include time.h
#include AprioriSet.h
#include AprioriDoc.h
#include AprioriView.h
#include SetPara.h
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
////////////////////////////////////////
文档评论(0)