关联规则的评价

article/2025/9/6 23:13:59
本文介绍了9个关联规则评价的准则,其中全自信度、最大自信度、Kulc、cosine,Leverage是不受空值影响的,这在处理大数据集是优势更加明显,因为大数据中想MC这样的空记录更多,根据分析我们推荐使用kulc准则和不平衡因子结合的方法。

      前面我们讨论的关联规则都是用支持度和自信度来评价的,如果一个规则的自信度高,我们就说它是一条强规则,但是自信度和支持度有时候并不能度量规则的实际意义和业务关注的兴趣点。

一个误导我们的强规则

     看这样一个例子,我们分析一个购物篮数据中购买游戏光碟和购买影片光碟之间的关联关系。交易数据集共有10,000条记录,其中购买6000条包含游戏光碟,7500条包含影片光碟,4000条既包含游戏光碟又包含影片光碟。数据集如下表所示:

 买游戏不买游戏行总计
买影片400035007500
不买影片20005002500
列总计6000400010000

      假设我们设置得最小支持度为30%,最小自信度为60%。从上面的表中,可以得到:support(买游戏光碟—>买影片光碟)=4000/10000=40%,confidence(买游戏光碟—>买影片光碟)=4000/7500*100%=66%(写错了,应该是4000/6000)。这条规则的支持度和自信度都满足要求,因此我们很兴奋,我们找到了一条强规则,于是我们建议超市把影片光碟和游戏光碟放在一起,可以提高销量。

      可是我们想想,一个喜欢的玩游戏的人会有时间看影片么,这个规则是不是有问题,事实上这条规则误导了我们。在整个数据集中买影片光碟的概率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)。

卡方系数clip_image002[4]

      卡方分布是数理统计中的一个重要分布,利用卡方系数我们可以确定两个变量是否相关。卡方系数的定义:

clip_image002[8]

公式中的observed表示数据的实际值,expected表示期望值,不理解没关系,我们看一个例子就明白了。

 买游戏不买游戏行总计
买影片4000(4500)3500(3000)7500
不买影片2000(1500)500(1000)2500
列总计6000400010000

     上面表格的括号中表示的是期望值,(买影片,买游戏)的期望值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))

七个评价准则的比较

     这里有这么多的评价标准,究竟哪些好,哪些能够准确反应事实,我们来看一组对比。

 milkmilk行总计
coffeeMCMCC
coffeeMCMCC
列总计MMtotal

上表中,M表示购买了牛奶、C表示购买了咖啡,M表示不购买牛奶,C表示不购买咖啡,下面来看6个不同的数据集,各个度量标准的值

数据
MCMCMCMCtotalC->M自信度M->C自信度卡方liftall_confmax_confKulccosine
D110000100010001000001120000.910.91905579.260.910.910.910.91
D21000010001000100121000.910.9101.000.910.910.910.91
D3100100010001000001021000.090.096708.440.090.090.090.09
D41000100010001000001030000.500.502474025.750.500.500.500.50
D51000100100001000001111000.910.0981739.180.090.910.500.29
D61000101000001000002010100.990.019651.970.010.990.500.10

  我们先来看前面四个数据集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))(注:应为(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准则和不平衡因子结合的方法。

参考文献

  [1]:HanJiaWei. Data Mining: concept and  techniques.


http://chatgpt.dhexx.cn/article/4NnIEaat.shtml

相关文章

强关联规则挖掘

挖掘强关联规则的过程&#xff1a; 1.得到最大频繁项目集&#xff08;这里使用apriori算法&#xff09; 2.在最大频繁项目集中找强关联规则 工程结构&#xff1a; &#xff08;把下面的文件放到自己建的工程中就可以运行了&#xff0c;如果嫌麻烦的话把这些都放到main.cpp中…

关联规则 置信度与支持度以及Apriori算法简介

关联规则&#xff1a;购物篮分析&#xff0c;最早的出现是为了发现超市销售数据库中不同商品之间的关联关系。 文章目录 1.案例引入&#xff08;1&#xff09;啤酒与尿布的故事&#xff08;2&#xff09;购物篮例子 2.关联分析问题定义2.1二元表示2.2项集和支持度计数2.3 关联规…

关联规则挖掘_基于人工智能的网络告警关联分析处理的应用

1 概述 随着通信网络近些年的快速发展,其规模已经相当庞大,在网络中每天都会产生告警信息,并且这些信息数据量庞大、突发故障多,当网络设备出现故障并引发告警时,与它关联的设备也会引发相应的故障,并在短时间内产生大量告警信息[1-2]。由于一个故障的产生往往会引发多…

关联规则常用算法

关联规则&#xff08;Association Rules&#xff09;是海量数据挖掘&#xff08;Mining Massive Datasets&#xff0c;MMDs&#xff09;非常经典的任务&#xff0c;其主要目标是试图从一系列事务集中挖掘出频繁项以及对应的关联规则。关联规则来自于一个家喻户晓的“啤酒与尿布…

关联规则挖掘算法

关联规则挖掘是一种基于规则的机器学习算法&#xff0c;该算法可以在大数据库中发现感兴趣的关系。它的目的是利用一些度量指标来分辨数据库中存在的强规则。也即是说关联规则挖掘是用于知识发现&#xff0c;而非预测&#xff0c;所以是属于无监督的机器学习方法。 “尿布与啤酒…

Python实现关联规则推荐

1.什么关联规则 关联规则&#xff08;Association Rules&#xff09;是反映一个事物与其他事物之间的相互依存性和关联性&#xff0c;如果两个或多个事物之间存在一定的关联关系&#xff0c;那么&#xff0c;其中一个事物就能通过其他事物预测到。关联规则是数据挖掘的…

关联规则

何为关联规则&#xff0c;关联规则是发现事物之间关联关系的分析过程&#xff0c;其典型的例子就是购物篮分析。购物篮分析就是确定顾客在一次购物过程中一起购买的商品&#xff0c;通过分析发现不同商品之间的购买习惯&#xff0c;发现顾客购买的行为习惯&#xff0c;从而发现…

python 关联规则

文章目录 一、基本概念定义1. 记录&#xff08;事务&#xff09;定义2. 事务集定义3. 项目&#xff08;项&#xff09;定义4. 项目集&#xff08;项集&#xff09;定义5. k项集定义6. 支持度&#xff08;Support&#xff09;定义7. 置信度&#xff08;Confidence&#xff09;定…

关联规则分析

文章目录 一、经典案例二、相关概念由k个项构成的集合X>Y含义事务仅包含其涉及到的项目&#xff0c;而不包含项目的具体信息支持度 (support)置信度 (confidence)提升度 (lift) 三、实验分析自制数据集电影数据集题材 一、经典案例 在美国&#xff0c;一些年轻的父亲下班后…

关联规则(Association Rules)笔记

1 关联规则产生的原因&#xff1a;购物篮问题 关联规则最初是为了解决购物篮问题而产生。上世纪九十年代&#xff0c;美国的沃尔玛超市发现&#xff0c;啤酒和尿布这两种完全不着边际的商品竟然有很高的概率一起被购买。 在一段时间之后&#xff0c;他终于分析出了原因&#xf…

关联规则(Apriori、FP-grpwth)

什么是关联规则 关联规则&#xff08;Association Rules&#xff09;是反映一个事物与其他事物之间的相互依存性和关联性&#xff0c;是数据挖掘的一个重要技术&#xff0c;用于从大量数据中挖掘出有价值的数据项之间的相关关系。 所谓数据挖掘就是以某种方式分析源数据&#…

大数据分析笔记 (4) -关联规则(Association Rules)

大数据分析笔记 - 关联规则 总览Apriori算法算法流程评估候选规则 (Evaluation of Candidate Rules)置信度 (Confidence)提升度 (Lift)杠杆率 (leverage)对比结合方法 (Combination of Measures) 验证和测试诊断 应用 总览 关联规则是一种无监督学习方法。这是一种描述性(desc…

机器学习-关联规则

关联规则:关联规则是描述在一个交易中物品之间同时出现的规律的知识模式,更确切的说,关联规则是通过量化的数字描述物品A的出现对物品B的出现有多大影响 A与B是独立的两个非空事务,且A、B同属于一个事务集,那么关联规则是形如A=>B的蕴含式。 关联规则有两种度量标准:…

关联规则算法学习—Apriori

关联规则算法学习—Apriori 一、实验项目&#xff1a;关联规则算法学习 项目性质&#xff1a;设计型 二、实验目的&#xff1a; 理解并掌握关联规则经典算法Apriori算法&#xff0c;理解算法的原理&#xff0c;能够实现算法&#xff0c;并对给定的数据集进行关联规则挖掘 三、实…

统计分析 -- t分布

t 分布的图形与特征 以0为中心&#xff0c;左右对称的单峰分布&#xff1b;t分布曲线是一簇曲线&#xff0c;其形态变化与自由度的大小有关。自由度越小&#xff0c;则t 值越分散&#xff0c;t分布曲线的峰部越矮而尾部翘得越高&#xff1b;说明尾部面积&#xff08;概率P&…

t分布表

非常需要&#xff0c;保存下来&#xff0c;随时可以取

正态分布/卡方分布/F分布/T分布

正态分布&#xff1a; 正态分布&#xff08;Normal distribution&#xff09;又名高斯分布&#xff08;Gaussiandistribution&#xff09;&#xff0c;若随机变量X服从一个数学期望为μ、方差为σ^2的高斯分布&#xff0c;记为N(μ&#xff0c;σ^2)。其概率密度函数为正态分布…

t分布(Student t distribution)——正态分布的小样本抽样分布

目录 大样本抽样分布 正态分布小样本抽样分布—t分布 运用t分布构建小样本抽样均值的置信区间 运用t分布进行小样本抽样均值检验 大样本抽样分布 对于大样本的抽样分布&#xff0c;由中心极限定理&#xff0c;无论总体分布是否为正态分布&#xff0c;其均值x_bar的抽样分布…

t分布的构造

t分布是在正态分布和卡方分布的基础上构造的, 我们通过代码实现一下 import numpy as np import seaborn as sns import matplotlib.pyplot as plt import warnings warnings.filterwarnings("ignore")# 正态分布 N np.random.normal(0, 1, 100000)# 自由度为 2, …