码迷,mamicode.com
首页 > 其他好文 > 详细

数据挖掘—关联规则理论介绍与R实现

时间:2015-04-13 18:37:09      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

Apriori algorithm是关联规则里一项基本算法。是由Rakesh Agrawal和Ramakrishnan Srikant两位博士在1994年提出的关联规则挖掘算法。关联规则的目的就是在一个数据集中找出项与项之间的关系,也被称为购物蓝分析 (Market Basket analysis),因为"购物蓝分析"很贴切的表达了适用该算法情景中的一个子集。

关于这个算法有一个非常有名的故事:"尿布和啤酒"。故事是这样的:美国的妇女们经常会嘱咐她们的丈夫下班后为孩子买尿布,而丈夫在买完尿布后又要顺 手买回自己爱喝的啤酒,因此啤酒和尿布在一起被购买的机会很多。这个举措使尿布和啤酒的销量双双增加,并一直为众商家所津津乐道。

  • 图解

技术分享技术分享技术分享

  • 关联规则概念介绍

资料库(Transaction Database):存储着二维结构的记录集。定义为:D

所有项集(Items):所有项目的集合。定义为:I。

记录 (Transaction ):在资料库里的一笔记录。定义为:T,T ∈ D

项集(Itemset):同时出现的项的集合。定义为:k-itemset(k项集),k-itemset ? T。除非特别说明,否则下文出现的k均表示项数。

支持度(Support):定 义为 supp(X) = occur(X) / count(D) = P(X)。

1. 解释一:比如选秀比赛,那个支持和这个有点类似,那么多人(资料库),其中有多少人是选择(支持)你的,那个就是支持度;

2. 解释二:在100个人去超市买东西的,其中买苹果的有9个人,那就是说苹果在这里的支持度是 9,9/100;

3. 解释三:P(X),意思是事件X出现的概率;

4. 解释四:关联规则当中是有绝对支持度(个数)和相对支持度(百分比)之分的。

置信度(Confidence/Strength): 定义为 conf(X->Y) = supp(X ∪ Y) / supp(X) = P(Y|X)。

候选 集(Candidate itemset):通过向下合并得出的项集。定义为C[k]。

频繁集(Frequent itemset):支持度大于等于特定的最小支持度(Minimum Support/minsup)的项集。表示为L[k]。注意,频繁集的子集一定是频繁集。

提升比率(提升度Lift):lift(X -> Y) = lift(Y -> X) = conf(X -> Y)/supp(Y) = conf(Y -> X)/supp(X) = P(X and Y)/(P(X)P(Y))

经过关联规则分析后,针对某些人推销(根据某规则)比盲目推销(一般来说是整个数据)的比率,这个比率越高越好,我们称这个规则为强规则;

剪枝步

只有当子集都是频繁集的候选集才是频繁集,这个筛选的过程就是剪枝步;

  • More information about the concepts of arules

 1、项集(Itemset)是一组项,而每一个项都是一个属性值。在购物篮分析示例中,项集包含一组产品,例如CakePepsiMilk。在研究客户的人口统计信息示例中,项集包含一组属性值,比如{Gender=‘Male‘,Education=‘Bachelor‘}。每个项集都有一个大小,该大小表示项集中包含的项的数目。项集{CakePepsiMilk}的大小是3

    频繁项集是在数据集中出现频率相当高的那些项集。项集出现频率的阈值是用"支持度"来定义的。

    2、支持度(Support)支持度用来度量一个项集的出现频率。项集{AB}的支持度是同时包含AB的事务的总个数。即:

    Support({A,B})=NumberofTransactions(A,B)

    Minimum_Support是一个阈值参数,必须在处理关联模型之前指定该参数。该参数表示用户只对某些项集和规则感兴趣,这些规则表示数据集的最低支持度。它是用于对项集进行限制,而不是对规则进行限制。

    3、概率(Probability)也叫置信度(Confidence,是关联规则的属性。规则A=>B要概率是使用{A}的支持度除项集{AB}的支持度来计算的。公式如下:

    Probability(A=>B)=Probability(B|A)=Support(A,B)/Support(A)

也等于NumberofTransactions(A,B)/TotalNumberofTransactions

    Minimum_Probability是一个阈值参数,必须在运行算法之前指定该参数.它表用户只对某些规则感兴趣,这些规则摇拥有比较高的概率,而不是最小的概率.Minimum_Probability对项集没有任何影响,它影响的是规则.

  3、重要性(Importance)在一些文献中也称为兴趣度分数或者增益。重要性可以用于度量项集和规则。

    项集的重要性是使用以下公式来定义的:

    如果Importance=1,刚AB是独立的项,它表示购买A和购买B是两个独立的事件。如果Importance<1,刚AB是负相关的,这表求如果一个客户购买A了,刚他购买B是不太可能发生的。如果Importance>1,刚AB是正相关的。这表示如果一个客户购买了A,刚他也可能购买B

    规则的重要性是使用以下公式计算的:

    ImportanceA=>B=Log(P(B|A)/P(B|not A))

    重要性为0,表示AB之间没有任何关联。正的重要性分数表示当A为真时,B的概率会上升。负的重要性分数表示,当A为真时,B的概率会下降。

  • 简单例子

技术分享

  • R实现

 

数据挖掘—关联规则理论介绍与R实现

标签:

原文地址:http://www.cnblogs.com/Bfrican/p/4422724.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!