前面我们讨论的关联规则都是用支持度和自信度来评价的,如果一个规则的自信度高,我们就说它是一条强规则,但是自信度和支持度有时候并不能度量规则的实际意义和业务关注的兴趣点。
一个误导我们的强规则
看这样一个例子,我们分析一个购物篮数据中购买游戏光碟和购买影片光碟之间的关联关系。交易数据集共有10,000条记录,其中购买6000条包含游戏光碟,7500条包含影片光碟,4000条既包含游戏光碟又包含影片光碟。数据集如下表所示:
假设我们设置得最小支持度为30%,最小自信度为60%。从上面的表中,可以得到:support(买游戏光碟—>买影片光碟)=4000/10000=40%,confidence(买游戏光碟—>买影片光碟)=4000/7500*100%=66%。这条规则的支持度和自信度都满足要求,因此我们很兴奋,我们找到了一条强规则,于是我们建议超市把影片光碟和游戏光碟放在一起,可以提高销量。
可是我们想想,一个喜欢的玩游戏的人会有时间看影片么,这个规则是不是有问题,事实上这条规则误导了我们。在整个数据集中买影片光碟的概率p(买影片)=7500/10000=75%,而买游戏的人也买影片的概率只有66%,66%<75%恰恰说明了买游戏光碟抑制了影片光碟的购买,也就是说买了游戏光碟的人更倾向于不买影片光碟,这才是符合现实的。
从上面的例子我们看到,支持度和自信度并不能过成功滤掉那些我们不感兴趣的规则,因此我们需要一些新的评价标准,下面介绍六中评价标准:相关性系数,卡方指数,全自信度、最大自信度、Kulc、cosine距离。
相关性系数lift
从上面游戏和影片的例子中,我们可以看到游戏和影片不是正相关的,因此用相关性度量关联规则可以过滤这样的规则,对于规则A—>B或者B—>A,lift(A,B)=P(A交B)/(P(A)*P(B)),如果lift(A,B)>1表示A、B呈正相关,lift(A,B)<1表示A、B呈负相关,lift(A,B)=1表示A、B不相关(独立)。实际运用中,正相关和负相关都是我们需要关注的,而独立往往是我们不需要的,两个商品都没有相互影响也就是不是强规则,lift(A,B)等于1的情形也很少,一般只要接近于1我们就认为是独立了。
注意相关系数只能确定相关性,相关不是因果,所以A—>B或者B—>A两个规则的相关系数是一样的,另外lift(A,B)=P(A交B)/(P(A)*P(B))=P(A)*P(B|A)/(P(A)*P(B))=P(B|A)/P(B)=confidence(A—>B)/support(B)=confidence(B—>A)/support(A)。
卡方系数
卡方分布是数理统计中的一个重要分布,利用卡方系数我们可以确定两个变量是否相关。卡方系数的定义:
公式中的observed表示数据的实际值,expected表示期望值,不理解没关系,我们看一个例子就明白了。
上面表格的括号中表示的是期望值,(买影片,买游戏)的期望值E=6000*(7500/10000)=4500,总体记录中有75%的人买影片,而买游戏的有6000人,于是我们期望这6000人中有75%(即4500)的人买影片。其他三个值可以类似计算得到。现在我们计算一下,买游戏与买影片的卡方系数:
卡方系数X=(4000-4500)^2/4500+(3500-3000)^2/3000+(2000-1500)^2/1500+(500-1000)^2/1000=555.6。
卡方系数需要查表才能确定值的意义,基于置信水平和自由度(r-1)*(c-1)=(行数-1)*(列数-1)=1,查表得到自信度为(1-0.001)的值为6.63,555.6大于6.63,因此拒绝A、B独立的假设,即认为A、B是相关的,而expected(买影片,买游戏)=4500>4000,因此认为A、B呈负相关。这里需要一定的概率统计知识。如果觉得不好理解,可以用其他的评价标准。
全自信度
全自信度all_confidence的定义如下:all_confidence(A,B)=P(A交B)/max{P(A),P(B)}
=min{P(B|A),P(A|B)}
=min{confidence(A—>B),confidence(B—>A)}
对于前面的例子,all_confidence(买游戏,买影片)=min{confidence(买游戏—>买影片),confidence(买影片—>买游戏)}=min{66%,53.3%}=53.3%。可以看出全自信度不失为一个好的衡量标准。
最大自信度
最大自信度则与全自信度相反,求的不是最小的支持度而是最大的支持度,max_confidence(A,B)=max{confidence(A—>B),confidence(B—>A)},不过感觉最大自信度不太实用。
Kulc
Kulc系数就是对两个自信度做一个平均处理:kulc(A,B)=(confidence(A—>B)+confidence(B—>A))/2。,kulc系数是一个很好的度量标准,稍后的对比我们会看到。
cosine(A,B)
cosine(A,B)=P(A交B)/sqrt(P(A)*P(B))=sqrt(P(A|B)*P(B|A))=sqrt(confidence(A—>B)*confidence(B—>A))
七个评价准则的比较
这里有这么多的评价标准,究竟哪些好,哪些能够准确反应事实,我们来看一组对比。
上表中,M表示购买了牛奶、C表示购买了咖啡,M表示不购买牛奶,C表示不购买咖啡,下面来看6个不同的数据集,各个度量标准的值
我们先来看前面四个数据集D1-D4,从后面四列可以看出,D1,D2中milk与coffee是正相关的,而D3是负相关,D4中是不相关的,大家可能觉得,D2的lift约等于1应该是不相关的,事实上对比D1你会发现,lift受MC的影响很大,而实际上我们买牛奶和咖啡的相关性不应该取决于不买牛奶和咖啡的交易记录,这正是lift和卡方的劣势,容易受到数据记录大小的影响。而全自信度、最大自信度、Kulc、cosine与MC无关,它们不受数据记录大小影响。卡方和lift还把D3判别为正相关,而实际上他们应该是负相关,M=100+1000=1100,如果这1100中有超过550的购买coffee那么就认为是正相关,而我们看到MC=100<550,可以认为是负相关的。
上面我们分析了全自信度、最大自信度、Kulc、cosine与空值无关,但这几个中哪一个更好呢?我们看后面四个数据集D4-D6,all_conf与cosine得出相同的结果,即D4中milk与coffee是独立的,D5、D6是负相关的,D5中support(C-->M)=0.91而support(M-->C)=0.09,这样的关系,简单的认为是负相关或者正相关都不妥,Kulc做平均处理倒很好,平滑后认为它们是无关的,我们再引入一个不平衡因子IR(imbalance ratio):
IR(A,B)=|sup(a)-sup(B)|/(sup(A)-sup(B)-sup(A交B))
D4总IR(C,M)=0,非常平衡,D5中IR(C,M)=0.89,不平衡,而D6中IR(C,M)=0.99极度不平衡,我们应该看到Kulc值虽然相同但是平衡度不一样,在实际中应该意识到不平衡的可能,根据业务作出判断,因此这里我们认为Kulc结合不平衡因子的是较好的评价方法。
另外weka中还使用 Conviction和Leverage。Conviction(A,B) = P(A)P(B)/P(AB), Leverage(A,B) = P(A交B)-P(A)P(B),Leverage是不受空值影响,而Conviction是受空值影响的。
总结
本文介绍了9个关联规则评价的准则,其中全自信度、最大自信度、Kulc、cosine,Leverage是不受空值影响的,这在处理大数据集是优势更加明显,因为大数据中想MC这样的空记录更多,根据分析我们推荐使用kulc准则和不平衡因子结合的方法。
http://tech.ddvip.com/2013-11/1384962748206277.html
相关推荐
### 负关联规则挖掘算法的应用与研究 #### 引言与背景 数据挖掘作为现代信息处理的关键领域,旨在从海量数据中提炼出有价值的信息和知识。其中,关联规则(Association Rule, AR)作为一种核心的技术手段,自1993...
开发新的衡量标准,以更全面地评价关联规则;以及将关联规则挖掘与其他数据挖掘技术和机器学习方法结合,以解决更加复杂的分析问题。例如,结合深度学习算法,可能在处理大量非结构化数据,如文本、图像和声音时,能...
关联规则算法的改进 关联规则(Apriori 算法)的改进与应用是数据挖掘领域中的一个重要研究方向。本文旨在对Apriori 算法进行改进,并应用于实际问题中。 一、研究背景 关联规则挖掘是数据挖掘领域中的一个重要...
关联规则的两个评价指标是支持度和支持置信度。 - **置信度**:关联规则A → B的信任度,计算公式为:置信度(A → B) = 支持度(A ∪ B) / 支持度(A)。 5. **最小支持度和最小置信度**:预设阈值,用于过滤不感兴趣...
关联规则的挖掘过程通常包括三个步骤:找出所有频繁项集、生成强规则和结果评价与解释。 在商场中,关联规则挖掘可以用于以下几个方面: 1. 商品关联规则分析:通过对销售记录的分析,找出商品之间的关联性。例如...
利用标准SQL查询挖掘多值型关联规则及其评价 本文提出了一种使用标准SQL查询挖掘多值型关联规则的方法,并对挖掘出来的规则进行评价。该方法首先使用语言场理论对连续属性进行离散化,然后使用SQL对Apriori算法进行...
关联规则挖掘是数据挖掘中的一个核心技术,它主要用于从大量的数据中发现项集之间的有趣关系,即项集之间的关联性。在商业交易数据分析中,关联规则挖掘尤为重要,它可以帮助企业发现商品之间的购买模式,比如人们...
关联规则Apriori算法FP-Tree算法 关联规则是数据挖掘领域中的一种重要技术,它可以帮助人们发现数据中的隐含关系和规律...关联规则的评价也是非常重要的,需要使用支持度、置信度和 Lift 等指标来评价关联规则的强度。
西电数据挖掘作业——关联规则aprior算法python实现,我自己在python3.6已经能够成功实现,没有问题
【标题】:“基于遗传算法的关联规则发现算法综述” 【描述】:本文将深入探讨一种利用遗传算法来实现关联规则发现的方法。关联规则在数据挖掘领域中扮演着重要角色,它能帮助我们从大量数据中揭示有趣的模式和关系...
在教学评价系统中应用数据挖掘技术,尤其是关联规则算法,能够为高校的教学质量管理提供新的视角和方法。以下知识点详细解释了这一概念、原理及应用。 1. 数据挖掘的概念与重要性:数据挖掘是指从大量不完全、模糊...
"关联规则算法介绍和讲解" 本资源摘要信息主要介绍了关联规则算法的定义、使用和实例讲解,涵盖了关联规则数据挖掘技术、知识发现系统的结构、神经网络和遗传算法的数据挖掘技术等方面的内容。 一、关联规则的定义...
本文主要探讨了频繁项关联规则在教学评价中的应用,特别是在结合SQL数据库环境下,如何挖掘和利用这些关联规则以提高教学质量管理和决策的科学性。 关联规则挖掘是数据挖掘中的核心内容之一,其目的是发现大型数据...
本文将重点探讨关联规则算法在教学评价系统中的研究与应用。 首先,关联规则技术主要指的是在大量数据集中发现项之间的有趣关系、频繁模式、关联、相关性或结构模式的规则。关联规则挖掘的经典算法之一是Apriori...
为此,研究者首先对关联规则的原理和方法进行了分析,并提出了改进的数据集成方案以及自动化离散处理措施,以获得适合挖掘的原始数据。数据挖掘过程主要利用了WEKA工具和Apriori算法,对处理后的数据进行了分析,并...
关联规则挖掘是数据挖掘领域中的一项关键技术,主要目的是从大量数据中发现项之间的有趣关系,即项集之间的关联性。这些关联性可以揭示数据中的潜在规则,对于理解数据本质和发现数据间隐藏的模式具有重要意义。关联...