数据分析之关联规则分析应用

219 阅读3分钟

Apriori关联规则概述

Apriori是一种常用的数据关联规则挖掘方法,它可以用于找出数据中频繁出现的数据集合。找出这样的一些频繁集合有利于决策,例如通过找出超市购物车数据的频繁项集,可以更好地设计货架的摆放。

最典型的例子:啤酒与尿布

Apriori基本概念

关联分析是一种在大规模数据集中寻找相互关系的任务。这些关系可以有两种形式:

频繁项集(frequent item sets): 经常出现在一块的物品的集合。

关联规则(associational rules): 暗示两种物品之间可能存在很强的关系。

例如:

交易号码商品
0豆奶,西瓜
1西瓜,尿布,啤酒,可乐
2豆奶,尿布,啤酒,橙汁
3西瓜,豆奶,尿布,啤酒
4西瓜,豆奶,尿布,橙汁

频繁项集: {啤酒,尿布,豆奶}就是一个频繁项集的例子。

交易号为2,3,4的均同时出现{啤酒,尿布,豆奶}

关联规则:尿布→啤酒就是一个关联规则这意味着如果顾客买了尿布,那么他很可能会买啤酒。

购买尿布的顾客75%的概率会同时购买啤酒

支持度:数据集中包含该项集的记录所占的比例。

{豆奶}的支持度为4/5。{豆奶,尿布}的支持度为3/5。

可信度:针对一条诸如{尿布}→{啤酒}这样具体的关联规则来定义的。

这条规则的可信度被定义为支持度({尿布,啤酒})/支持度({尿布})。

支持度(尿布,啤酒)=0.6支持度({尿布,啤酒})= 0.6

支持度(尿布)=0.8支持度({尿布})=0.8

尿布啤酒的可信度=0.60.8=0.75{尿布}→{啤酒}的可信度=\frac {0.6} {0.8} = 0.75

Apriori算法流程

k项集:如果事件A中包含k个元素,那么称这个事件A为k项集,并且事件A满足最小支持度阈值的事件称为频繁k项集。

  • 第一步通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集;
  • 第二步利用频繁项集构造出满足用户最小信任度的规则。

即:

  • 首先找出频繁1-项集,记为L1;
  • 然后利用L1来产生候选项集C2,对C2中的项进行判定挖掘出L2,即频繁2-项集;
  • 不断如此循环下去直到无法发现更多的频繁k-项集为止。
  • 每挖掘一层Lk就需要扫描整个数据库一遍 。
  • 算法利用了一个性质:任一频繁项集的所有非空子集也必须是频繁的。

Apriori的应用实例

Apriori算法广泛应用于各种领域,通过对数据的关联性进行了分析和挖掘,挖掘出的这些信息在决策制定过程中具有重要的参考价值:

  • Apriori算法广泛应用于消费市场价格分析中;
  • Apriori算法应用于网络安全领域,比如网络入侵检测技术中;
  • Apriori算法应用于高校管理中;
  • Apriori算法被广泛应用于移动通信领域。