跟我一起数据挖掘(3)——谈谈支持度和置信度

支持度,简单的字面理解就是支持的程度,一般以百分比表示。生活中常见的使用场合有投票、竞选、民意调查等,比如某校高一三班进行班委竞选,该班级共有学生50名,在班长一职的竞选中,张三得到40票。那么就可以说在该班班长竞选中,张三的支持度是:40/50*100%=80%。

该名词还常出现在数据挖掘的关联分析中,常跟 置信度(或可信性)一起出现。
如:某超市中有1000个顾客购物,其中200个顾客购买了面包(物品集A),那么面包(物品集A)的支持度为:
P(A)=20%(200/1000)。
关联规则从一个侧面揭示了事务之间的某种联系。
支持度和置信度总是伴随着关联规则存在的,它们是对关联规则的必要的补充。
对某条关联规则而言,如 A -> B (support=30%, confidence= 60%)

其中的support=30%是说,在所有的事务中同时出现A和B的概率。

那么我们要怎样设置支持度和置信度呢?
支持度揭示了A和B同时出现的频率,如果A和B一起出现的频率非常小,那么就说明了A和B之间的联系
并不大;但若一起出现的频率非常频繁,那么A和B总是相关联的知识也许已经成为常识而存在了。这就
涉及到如何正确设置支持度的问题。

置信度和支持度可以由用户自己确定阙值。比如不满足50%的置信度被认为是没有用的,这个阙值可以根据需要调整。

支持度(Support)的公式是:Support(A->B)=P(A U B)。支持度揭示了A与B同时出现的概率。如果A与B同时出现的概率小,说明A与B的关系不大;如果A与B同时出现的非常频繁,则说明A与B总是相关的。
    置信度(Confidence)的公式式:Confidence(A->B)=P(A | B)。置信度揭示了A出现时,B是否也会出现或有多大概率出现。如果置信度度为100%,则A和B可以捆绑销售了。如果置信度太低,则说明A的出现与B是否出现关系不大。
    示例:某销售手机的商场中,70%的手机销售中包含充电器的销售,而在所有交易中56%的销售同时包含手机和充电器。则在此例中,支持度为56%,置信度为70%。

支持度: P(A∪B),即A和B这两个项集在事务集D中同时出现的概率。

置信度: P(B|A),即在出现项集A的事务集D中,项集B也同时出现的概率。

下面可以看一个例题:

跟我一起数据挖掘(3)——谈谈支持度和置信度

1.support((apple,banana)->cherry) = 1/7 = 14.29% (7个交易中有一个交易是同时购买了三件商品)
confidence((apple,banana)->cherry) = 1/2 = 50% (同时购买了apple 和banana的有两个交易,其中一个交易也购买了cherry,所以置信度是50%) 

2.support(banana->durian) = 4/7 = 57.14% >0.4,故满足条件 

3.confidence((apple,cherry)->durian) = 2/2 = 100%>0.8 ,故满足条件