关联, 指的是关联分析, 这里引用百度百科的定义.算法
关联分析又称关联挖掘,就是在交易数据、关系数据或其余信息载体中,查找存在于项目集合或对象集合之间的频繁模式、关联、相关性或因果结构。学习
经过关联分析, 能够挖掘出"因为某些事件的发生而引发另一些事件的发生"之类的规则, 好比说"炸鸡>>啤酒", 其中炸鸡被称为规则的前项, 而啤酒则被称为规则的后项.
经常使用于关联分析的算法有Apriori算法, FP-growth算法, Eclat算法, 灰色关联法等, 下面将着重介绍Apriori算法.对象
在介绍Apriori算法以前, 咱们先来了解几个概念:
1.事务: 一条交易记录称为一个事务
2.项: 交易中的每个物品称为一个项
3.项集: 包含0个或多个项的集合
4.支持度计数: 项集在全部事务中出现的次数.
5.支持度: 支持度计数除于总的事务数.
6.频繁项集: 支持度大于等于某个阀值的项集.
关联规则的挖掘一般分为两步: 第一步, 找出全部的频繁项集; 第二步, 由频繁项集产生强关联规则. 而Apriori算法则是挖掘频繁项集的基本算法.事件
Apriori的主要思想是找出存在于事务数据集中的频繁项集, 再利用获得的频繁项集与预先设定的最小置信度阀值生成强关联规则. 其过程大体能够描述为: 首先, 根据最小支持度扫描全部候选项集, 从而找出频繁1-项集的集合. 而后, 再使用频繁1-项集的集合找出频繁2-项集的集合, 如此下去, 直到不能找出频繁k-项集.事务
能够看到以上每一个过程均须要扫描一次数据, 为了提升频繁项集逐层迭代产生的效率, 须要利用一条重要性质, 其称为先验性质:数据分析
先验性质: 频繁项集的全部非空子集也必定是频繁的.io
固然, 非频繁项集的全部超集也必定是非频繁的.效率
将先验性质应用到Apriori算法中就是将以前的过程分为两大部分, 链接步和剪枝步.
链接步: 链接步的目的是产生候选项集.
剪枝步: 应用先验性质对候选项集进行筛选, 将不知足先验性质的候选项集剔除, 再进而根据最小支持度找出最大频繁项集, 这样能够有效缩短计算量.百度
关联分析的目标是找出强关联规则, 所以这里的关联规则是指强关联规则, 咱们把知足最小支持度和最小置信度的规则称为强关联规则.
对于规则A=>B, 置信度的计算公式就是项集{A, B}的支持度计数除于项集{A}的支持度计数.引用
优势: 简单, 易理解, 对数据要求低
缺点: 容易产生过多的候选项集, I/O负载大.
参考:
百度百科《关联》
《数据分析与挖掘实战》
声明:本文仅用于学习交流