使用Apriori算法进行关联分析

本文介绍了关联分析的基本概念,如频繁项集和关联规则,以及Apriori算法的工作原理。Apriori算法通过减少计算时间来发现频繁项集,用于商品购买行为分析。文章还详细阐述了Apriori算法的实现步骤,包括生成频繁项集和挖掘关联规则的过程。
摘要由CSDN通过智能技术生成

现在商家通过查看哪些商品经常在一起购买,来了解用户的购买行为。这种从数据海洋中抽取的知识可以用于商品的定价、市场促销、存货管理等环节。从规模数据集中寻找物品间的隐含关系被称作关联分析或者关联规则学习。下面首先详细讨论关联分析,然后讨论Apriori原理,Apriori算法正式基于该原理得到的。接下来创建函数频繁项集高效发现的函数,然后从频繁项集中抽取出关联规则。

1.1 关联分析
关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形式:频繁项集或者关联规则频繁项集是经常出现在一起的物品的集合关联规则暗示两种物品之间可能存在很强的关系。例如经典的尿布—葡萄酒的关联规则,这意味着如果有人购买了尿布,那么他很可能也会买葡萄酒。使用频繁项集和关联规则,商家可以更好地了解他们的顾客。尽管大部分关联规则分析的实例来自零售业,但该技术同样可以用于其他行业,比如网站流量分析以及医药行业。
一个项集的支持度被定义为数据集中包含该项集的记录所占的比例。支持度是针对项集来说的,因此可以定义一个最小支持度,而只保留满足最小支持度的项集。
可信度或者置信度是针对一条诸如{尿布}—{葡萄酒}的关联规则来定义的。这条规则的可信度被定义为“支持度({尿布,葡萄酒})/支持度({尿布})”,这意味着对于包含“尿布”的所有记录中,我们的规则对其中75%的记录适用。

1.2 Apriori原理
要获得每种可能集合的支持度需要不断重复统计,而随着物品数的增加,遍历次数会急剧增长。为了降低所需的计算时间,研究人员提出Apriori原理。它可以帮我们减少可能感兴趣的项集。它说如果某个项集是频繁的,那么它的所有子集也是频繁项,这个原理直观上并没有什么帮助,但是如果反过来看就有用了,也就是说如果一个项集是非频繁集,那么它的所有超集也是非频繁的。

1.3 使用Apriori算法来发现频繁集
关联分析的目标包括两项:发现频繁项集和发现关联规则。首先需要找到频繁项集,然后才能获得关联规则。本节将只关注于发现频繁项集。
Apriori算法是发现频繁项集的一种方法。Apriori算法的两个输入参数分别是最小支持度和数据集。1.该算法首先会生成所有单个物品的项集列表,接着扫描交易记录来查看哪些项集满足最小支持度要求,哪些不满足最小支持度的集合会被去掉;2.然后对剩下来的集合进行组合以生成包含两个元素的项集,接着再重新扫描交易记录,去掉不满足最小支持度的项集。该过程重复进行直到所有项集都被去掉。

程序清单1-1:Apriori算法中的辅助函数

def loadDataSet():
    return [[1,3,4],[2,3,5],[1,2,3,5],[2,5]]

第一个函数loadDataSet()创建了一个用于测试的简单数据集。

def 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值