如前所述,Apriori算法用于关联规则挖掘。如今,什么是关联规则挖掘?关联规则挖掘是一种用于识别一组项目之间的频繁模式和关联的技术。算法
例如,了解客户的购买习惯。经过查找顾客放置在其“购物篮”中的不一样商品之间的关联和关联,能够得出重复的模式. 编程
识别产品/商品之间的关联的过程称为关联规则挖掘。为了实现关联规则挖掘,已经开发了许多算法。Apriori算法是其中最受欢迎的算法,并且能够说是最有效的算法。让咱们讨论什么是Apriori算法。编程语言
什么是先验算法?spa
Apriori算法假定频繁项集的任何子集都必须是频繁的。3d
假设包含{葡萄酒,薯条,面包}的交易也包含{葡萄酒,面包}。所以,根据Apriori原理,若是{酒,薯条,面包}很频繁,那么{酒,面包}也必须很频繁。blog
Apriori算法中的关键概念是,它假定一个频繁项集的全部子集都是频繁的。一样,对于任何不频繁的项目集,其全部超集也必须不频繁。事务
让咱们在一个很是著名的业务场景市场篮分析的帮助下,尝试并理解Apriori算法的工做原理。开发
这是一个小时内包含六个事务的数据集。每一个事务都是0和1的组合,其中0表示不存在某项,而1表示其存在。rem
交易编号get
葡萄酒
薯片
面包
牛奶
1
1个
1个
1个
1个
2
1个
0
1个
1个
3
0
0
1个
1个
4
0
1个
0
0
5
1个
1个
1个
1个
6
1个
1个
0
1个
咱们能够从这种状况下找到多个规则。例如,在葡萄酒,薯条和面包的交易中,若是购买了葡萄酒和薯条,那么客户也会购买面包。
{葡萄酒,薯条} => {面包}
如今咱们知道了找出有趣规则的方法,让咱们回到示例中。在开始以前,让咱们将支持阈值固定为50%。
步骤1:建立全部交易中出现的全部项目的频率表
项目
频率
葡萄酒
4
薯片
4
面包
4
牛奶
5
步骤2:根据支持阈值查找重要项目
支持阈值= 3
项目
频率
葡萄酒
4
薯片
4
面包
4
牛奶
5
项目
频率
葡萄酒,薯条
3
葡萄酒,面包
3
葡萄酒,牛奶
4
薯条,面包
2
薯片,牛奶
3
面包,牛奶
4
项目
频率
葡萄酒,牛奶
4
面包,牛奶
4
项目
频率
葡萄酒,面包,牛奶
3
{酒,面包,牛奶}是从给定数据中得到的惟一重要项目集。可是在实际场景中,咱们将有数十个项目可用来构建规则。而后,咱们可能必须制做四对/五对项集。
一家零售商店的经理正在尝试找出六个商品之间的关联规则,以找出哪些商品更常常一块儿购买,以便他能够将这些商品放在一块儿以增长销量。
如下是第一天的交易数据。此数据集包含6个项目和22个交易记录。
咱们将实现Apriori算法,以帮助经理进行市场分析。
第一条规则的支持值为0.5。该数字是经过将包含“牛奶”,“面包”和“黄油”的交易数量除以交易总数而得出的。
该规则的置信度为0.846,这代表在同时包含“牛奶”和“面包”的全部交易中,也有84.6%的交易包含“黄油”。
提高1.241告诉咱们,同时购买“牛奶”和“黄油”的顾客购买“黄油”的可能性是“黄油”的默承认能性的1.241倍。