- 8
- 0
- 约1.52万字
- 约 15页
- 2018-12-28 发布于湖北
- 举报
一、原Apriori算法
1、算法原理:
该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法
(1)L1 = find_frequent_1-itemsets(D); // 挖掘频繁1-项集,比较容易
(2)for (k=2;Lk-1 ≠Φ ;k++) {
(3)Ck = apriori_gen(Lk-1 ,min_sup); // 调用apriori_gen方法生成候选频繁k-项集
(4)for each transaction t ∈ D { // 扫描事务数据库D
(5)Ct = subset(Ck,t);
(6)for each candidate c ∈ Ct
(7)c.count++; // 统计候选频繁k-项集的计数
(8)}
(9)Lk ={c ∈ Ck|c.count≥min_sup} // 满足最小支持度的k-项集即为频繁k-项集
(10) }
(11) return L= ∪ k Lk; // 合并频繁k-项集(k0)
2、算法流程
① 首先单趟扫描数据集,计算各个一项集的支持度,根据给定的最小支持度闵值,得到一项频繁集L1。
② 然后通过连接运算,得到二项候选集,对每个候选集再次扫描数据集,得出每个候选集的支持度,再与最小支持度比较。得到二项频繁集L2。
③ 如此进行下去,直到不能连接产生新的候选集为止。
④ 对于找到的所有频繁集,用规则提取算法进行关联规则的提取。
3、算法的不足:
(1 )数据库重复扫描的次数太多。在由 C K 寻找 L K 的过程中, C K 中的每一项都需要扫描事务数据库进行验证,以决定其是否加入 L k ,存在的频繁 K - 项集越大,重复扫描的次数就越多。这一过程耗时太大,增加了系统 1 / 0 开销,处理效率低 [10 ] ,不利于实际应用。
(2 )产生的候选集可能过于庞大。如果一个频繁1 - 项集包含100个项,那么频繁2 - 项集就有 C2
100 个,为找到元素个数为100的频繁项集,如{b 1 , b 2 ,…, b 100 },那么就要扫描数据库100次,产生的候选项集总个数为:
举例:
对于一个这样庞大的项集,计算机难以存储和计算,挖掘效率低下。
二、算法的改进1
1、改进方法:
性质1:频繁项集的所有非空子集都必须是频繁的。( Apriori性质,记为性质1 )
性质2:若频繁K - 项集 L k 中各个项可以做链接产生 L k +1
,则L k 中每个元素在 L k 中出现的次数应大于或等于 K ,若小于 K ,则删除该项在 L k 中所有的事务集 [11 ] 。(Apriori性质的推论,记为性质2 )
改进的方法:在连接之后得到的候选频繁k项,直接进行最小支持度判断,并进行剪枝,从而直接得到频繁k项集,避免候选项集可能过大的问题;
2、算法的流程
① 首先单趟扫描数据集,计算各个一项集的支持度,根据给定的最小支持度阈值,得到一项频繁集L1。
② 然后通过连接运算,对于每个连接的到项直接进行最小支持度判断,如果大于最小支持度的加入频繁二项集,如果小于则舍弃,循环直到连接完毕;得到二项频繁集L2。
③ 如此进行下去,直到不能连接产生新的频繁项集为止。
3、代码实现的描述(详细描述文末附上):
使用C++,构造了一个Apriori类:
class Apriori
{
public:
//初始化,输入数据源,得到原始数据集、频繁1项集
void init(string fileName); //连接频繁k项集、并且直接剪枝,得到频繁k+1项集,加入到容器item_list
void apri_gen();;//连接频繁k项集、并且直接剪枝,得到频繁k+1项集,加入到频繁项集集合frequentvec中
float calculateSup(vectorstring judge_item); //求候选项的支持度
vectorstring mergeItem(vectorstring vect1,vectorstring vect2,int round); //判断两个项是否可以合并成一个新的项集做为新的候选项,能则合并,不能的返回空容器
void showItem();//输出频繁项集
private:
vec
您可能关注的文档
最近下载
- 2019四川攀枝花中考数学真题卷(含答案).docx VIP
- 药品谈判技巧培训.pptx VIP
- 第五讲-酶的分子改造.ppt VIP
- 广东省工程勘察设计服务成本取费导则(2024新版).pdf VIP
- 2025年攀枝花中考政治试卷及答案.doc VIP
- 农村宅基地法律政策.docx VIP
- 《生物质燃料气化燃烧清洁供暖技术规范》(TCRES 0025-2025).pdf VIP
- 历年中职升高职单招学前教育专业综合大全含答案(考试直接用).pdf VIP
- 甘肃创玮新材料有限公司BCB(苯并环丁烯)实验项目环评报告表.docx VIP
- 地震工程软件:OpenSees二次开发_(10).不确定性和可靠性分析.docx VIP
原创力文档

文档评论(0)