数据挖掘Apriori算法论文.doc

上传人:工**** 文档编号:547052604 上传时间:2022-10-19 格式:DOC 页数:20 大小:168.50KB
返回 下载 相关 举报
数据挖掘Apriori算法论文.doc_第1页
第1页 / 共20页
数据挖掘Apriori算法论文.doc_第2页
第2页 / 共20页
数据挖掘Apriori算法论文.doc_第3页
第3页 / 共20页
数据挖掘Apriori算法论文.doc_第4页
第4页 / 共20页
数据挖掘Apriori算法论文.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《数据挖掘Apriori算法论文.doc》由会员分享,可在线阅读,更多相关《数据挖掘Apriori算法论文.doc(20页珍藏版)》请在金锄头文库上搜索。

1、 数据挖掘课程作业题目 基于关联规则Apriori算法的事务数据挖掘 班级 学号 姓名 日期 2010.06.13 目 录一、引言2二、正文21.背景22.算法思想23.数据集34.源代码35.算法流程166运行结果16三、结论17四、参考文献18一、 引言随着网络、数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。由此,数据挖掘技术应运而生。数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。它是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量

2、业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。简而言之,数据挖掘其实是一类深层次的数据分析方法。从这个角度数据挖掘也可以描述为:按企业制定的业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。其中关联规则的算法的研究在数据挖掘算法的研究中占有相当重要的地位,关联规则算法的核心是Apriori算法,但随着对关联规则研究的深入,它的缺点也暴露出来了。本文将对数据挖掘的一种经典算法Apriori算法对于事务项目数据的挖掘应用。二、正文1、背景自1994年由Agrawal等人提出的关联规则挖掘Aprior

3、i的算法从其产生到现在,对关联规则挖掘方面的研究有着很大的影响。Apriori 算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。算法基于这样的事实:算法使用频繁项集性质的先验知识。Apriori 使用一种称作逐层搜索的迭代方法,k-项集用于探索(k+1)-项集。首先,找出频繁1-项集的集合。该集合记作L1。L1 用于找频繁2-项集的集合L2,而L2 用于找L3,如此下去,直到不能找到频繁k-项集。找每个Lk需要一次数据库扫描。为提高频繁项集逐层产生的效率,一种称作Apriori 性质的重要性质用于压缩搜索空间。为了提高频繁项目集逐层产生的效率,Apriori算法利用了两个重要的性质用于压缩

4、搜索空间: (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); /g

5、et 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 CA

6、prioriView 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_FILEstatic char THIS_FILE = _FILE_;#endif/ CAprioriViewIMPLEMENT_DYNCREATE(CAprioriView, CRecordView)BEGI

7、N_MESSAGE_MAP(CAprioriView, CRecordView)/AFX_MSG_MAP(CAprioriView)ON_BN_CLICKED(IDC_Bn_FreqItem, OnBnFreqItem)ON_COMMAND(ID_Parameter, OnParameter)/AFX_MSG_MAP/ Standard printing commandsON_COMMAND(ID_FILE_PRINT, CRecordView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView:OnFilePrint)ON_COM

8、MAND(ID_FILE_PRINT_PREVIEW, CRecordView:OnFilePrintPreview)END_MESSAGE_MAP()/ CAprioriView construction/destructionCAprioriView:CAprioriView(): CRecordView(CAprioriView:IDD)/AFX_DATA_INIT(CAprioriView)m_pSet = NULL;nAllFreqItem=0;/AFX_DATA_INIT/ TODO: add construction code hereCAprioriView:CAprioriV

9、iew()void CAprioriView:DoDataExchange(CDataExchange* pDX)CRecordView:DoDataExchange(pDX);/AFX_DATA_MAP(CAprioriView)DDX_Control(pDX, IDC_List_FreqItem, m_List_FreqItem);/AFX_DATA_MAPBOOL CAprioriView:PreCreateWindow(CREATESTRUCT& cs)/ TODO: Modify the Window class or styles here by modifying/ the CR

10、EATESTRUCT csreturn CRecordView:PreCreateWindow(cs);void CAprioriView:OnInitialUpdate()m_pSet = &GetDocument()-m_aprioriSet;CRecordView:OnInitialUpdate();GetParentFrame()-RecalcLayout();ResizeParentToFit();/ CAprioriView printingBOOL CAprioriView:OnPreparePrinting(CPrintInfo* pInfo)/ default prepara

11、tionreturn DoPreparePrinting(pInfo);void CAprioriView:OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add extra initialization before printingvoid CAprioriView:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add cleanup after printing/ CAprioriView diagnostics#ifdef _DEBUGvoid

12、CAprioriView:AssertValid() constCRecordView:AssertValid();void CAprioriView:Dump(CDumpContext& dc) constCRecordView:Dump(dc);CAprioriDoc* CAprioriView:GetDocument() / non-debug version is inlineASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CAprioriDoc);return (CAprioriDoc*)m_pDocument;#endif /_DEBUG/ CAprioriView database supportCRecordset* CAprioriView:OnGetRecordset()return m_pSet;/ CAprioriView message handlersvoid CAprioriView:OnBnFreqItem() / TODO: Add your control noti

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 法律文献 > 中国法制史

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号