机器学习关联分析PF和Apriori算法
Posted 赵广陆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习关联分析PF和Apriori算法相关的知识,希望对你有一定的参考价值。
1 什么是关联分析
此篇为了解篇幅,不做具体的算法实例,就是知道简单有这么回事,什么情况会用到的分析.
关联分析又称关联挖掘,就是在交易数据、关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式、关联、相关性或因果结构。或者说,关联分析是发现交易数据库中不同商品(项)之间的联系。
简单的说:就是经常举例到的啤酒和尿片,大数据经典案例
买啤酒的人大部分会买尿片,所以放一起会卖的更好,我感觉有所依据,但是感觉是一种营销.
2 Apriori算法
Apriori 算法是挖掘产生布尔关联规则所需频繁项集的基本算法,它使用一种称作逐层搜索的迭代方法,k 项集用于探索 k+1 项集。
衡量频率的指标有两个:一个是支持度,一个是置信度
这两个指标分别指的是这种模式的有用性和确定性。设置门限“最小支持度”和“最小置信度”,支持度和置信度同时高于这两个门限就可以认为是频繁模式了。
置信度是有“方向性”的,如果说购买面包的记录里有100%的记录都购买了麦片,那么就说购买面包后购买麦片的置信度为100%;反向地看,如果购买了麦片的记录有67%的记录都购买了面包,那么就说购买麦片后购买麦片的置信度为67%。
这里先不考虑置信度
支持度概念:项集
排列组合的一个最重要的性质是它的支持度计数
,也就是包含特定项集的事务个数。我们从数学上定义项集X
的支持度计数表示为
统计总数得到:
都大于支持度2
继续按照支持度淘汰
最后有一个公式的话最多能组成的项是t-1项
,也就是四件商品,然后-1得到为三,最后得到最频繁的项集
3 FP-growth算法
首先要知道,就是在每个购买记录中出现的各种单品其实体现的是一种组合的性质。也就是说,消费者在购买了一种单品的同时又购买了另一种单品。而且,这些单品的组合在记录中是无序的,也就是无法知道在记录1中究竟是先“购买”了面包然后诱使他又“购买”了麦片,还是先“购买”了面包后来又购买了麦片。因此只能研究一个无序的组合,这种组合就叫做“模式”。
这些模式里,有的出现频率很低,有的出现频率很高,一般认为频率较高的通常更有指导意义,这种高频率的模式就被称作“频繁模式”
。
FP-growth 算法通过两次扫描事务数据库,把每个事务所包含的频繁项目按其支持度降序压缩存储到 FP—tree 中,这样在以后发现频繁模式的过程中,不需要再扫描事务数据库,仅在 FP-Tree 中进行查找即可。
4 关联规则学习
关联规则学习是一种在大型数据库中发现变量之间的有趣性关系的方法,它的目的是利用一些有趣性的量度来识别数据库中发现的强规则。
以上是关于机器学习关联分析PF和Apriori算法的主要内容,如果未能解决你的问题,请参考以下文章
《机器学习实战》使用Apriori算法和FP-growth算法进行关联分析(Python版)