数据挖掘Apriori算法.docxVIP

  • 2
  • 0
  • 约5.97千字
  • 约 16页
  • 2021-03-25 发布于山东
  • 举报
实验报告 实验课程名称: 数据挖掘 实验项目名称: Apriori 算法 理 学 院 实验时间: 2014年 11月11 日 学生所在学院:理学院  专业: 统计学  班级: 姓 名  学 号  实验组 实验时间  指导教师  成 绩 实验项目名称  Apriori  算法 实验目的及要求: 1.加强对 Apriori 算法的理解 2.锻炼分析问题、解决问题以及动手能力 3.编程实现 Apriori 算法 实验(或算法)原理: Apriori 算法是一种找频繁项目集的基本算法。其基本原理是逐层搜索的迭代:频繁 K 项 Lk 集用于搜索频繁 (K+1)项集 Lk+1,如此下去,直到不能找到维度更高的频繁项集为止。这种方法依赖连接和剪枝这两步来实现。 算法的第一次遍历仅仅计算每个项目的具体值的数量, 以确定大型 l 项集。随后的遍历,第 k 次遍历,包括两个阶段。首先,使用在第 (k-1)次遍历中找到的大项集 Lk-1 和用 Aprioir-gen 函数产生候选项集 Ck。接着扫描数据库, 计算 Ck 中候选的支持度。 用 Hash 树可以有效地确定 Ck 中包含在一个给定的事务 t 中的候选。算法如下: L1 = {大项目集 1 项目集 }; for (k = 2; Lk-1 !=空; k++) do begin Ck = apriori-gen(Lk-1); .endl; map vectorstring,unsigned int empty; return empty; } while(1) { map vectorstring,unsigned int K_itemTemp = K_item; K_item = apri_gen(i++,K_item); if (K_itemTemp == K_item) { i = UINT_MAX; break; } 判断是否需要进行下一次的寻找 map vectorstring,unsigned int pre_K_item = K_item; size_t Kitemsize = (); // 存储应该删除的第 K 级频繁项集,不能和其他 K 级频繁项集构成第 K+1 级项集的集合 if (Kitemsize != 1 i != 1) { vector map vectorstring,unsigned int ::iterator eraseVecMit; map vectorstring,unsigned int ::iterator pre_K_item_it1 = () , pre_K_item_it2; while (pre_K_item_it1 != () ) { map vectorstring,unsigned int ::iterator mit = pre_K_item_it1; bool isExist = true; vectorstring vec1; vec1 = pre_K_item_it1-first; vectorstring vec11(),()-1); while (mit != ()) { vectorstring vec2; vec2 = mit-first; vectorstring vec22(),()-1); if (vec11 == vec22) break; ++mit; } if (mit == ()) isExist = false; if (!isExist pre_K_item_it1 != ()) (pre_K_item_it1);// 该第 K 级频繁项应该删除 ++pre_K_item_it1; } size_t eraseSetSize = (); if (eraseSetSize == Kitemsize) break; else { vector map vectorstring,unsigned int ::iterator ::iterator currentErs = (); while (currentErs != ())//  删除所有应该删除的第  K 级频繁项 { map vectorstring,unsigned int ::iterator eraseMit = *currentErs; (eraseMit); ++currentErs; } } } else if(Kitemsize == 1 ) break; } coutendl; showAprioriItem(i,K_item); return K_item; } map vectorstring,unsigned int Apriori::apri_gen(unsigned int K , ma

文档评论(0)

1亿VIP精品文档

相关文档