数据关联规则:概述【频繁项集评估标准:支持度(support)、置信度(confidence)、提升度(lift)】【算法:Aprior、FP-Tree、GSP、CBA】

这篇具有很好参考价值的文章主要介绍了数据关联规则:概述【频繁项集评估标准:支持度(support)、置信度(confidence)、提升度(lift)】【算法:Aprior、FP-Tree、GSP、CBA】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关联规则(Association Rules)是反映一个事物与其他事物之间的相互依存性和关联性,是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。

该过程通过发现顾客放人其购物篮中的不同商品之间的联系,分析顾客的购买习惯。通过了解哪些商品频繁地被顾客同时购买,这种关联的发现可以帮助零售商制定营销策略。其他的应用还包括价目表设计、商品促销、商品的排放和基于购买模式的顾客划分。

可从数据库中关联分析出形如“由于某些事件的发生而引起另外一些事件的发生”之类的规则。

一、关联规则引入

下面用一个故事来引出关联规则:

关联规则的支持度和置信度,推荐系统/RS,# RS/召回层,算法

二、关联规则相关概念介绍

1、样本、事务、项集、规则

关联规则中的数据集结构一般如下所示:

关联规则的支持度和置信度,推荐系统/RS,# RS/召回层,算法

关于项集(多个项组成的集合):

  • { 牛奶 } 是 1-项集
  • { 牛奶,果冻 } 是 2-项集;
  • { 啤酒,面包,牛奶 } 是 3-项集

X==>Y含义(规则):

  • X和Y是项集
  • X称为规则前项
  • Y称为规则后项

事务:即样本,一个样本称为一个事务。事务仅包含其涉及到的项目,而不包含项目的具体信息

  • 在超级市场的关联规则挖掘问题中事务是顾客一次购物所购买的商品,但事务中并不包括这些商品的具体信息,如商品的数量、价格等

2、频繁项集的评估标准

什么样的数据才是频繁项集呢?也许你会说,这还不简单,肉眼一扫,一起出现次数多的数据集就是频繁项集吗!的确,这也没有说错,但是有两个问题,第一是当数据量非常大的时候,我们没法直接肉眼发现频繁项集,这催生了关联规则挖掘的算法,比如Apriori, PrefixSpan, CBA。第二是我们缺乏一个频繁项集的标准。比如10条记录,里面A和B同时出现了三次,那么我们能不能说A和B一起构成频繁项集呢?因此我们需要一个评估频繁项集的标准。

常用的频繁项集的评估标准有支持度,置信度和提升度三个。

2.1 支持度

支持度(support):一个项集或者规则在所有事务中出现的频率,σ(X):表示项集X的支持度计数

  • 项集X的支持度:s(X)=σ(X)÷N
  • 规则X==>Y表示物品集X对物品集Y的支持度,也就是物品集X和物品集Y同时出现的概率
  • 假设某天共有100个顾客到商场买东西,其中30个顾客同时购买了啤酒和尿布,那么上述的关联规则的支持度就是30%

支持度就是几个关联的数据在数据集中出现的次数占总数据集的比重。或者说几个数据关联出现的概率。如果我们有两个想分析关联性的数据X和Y,则对应的支持度为:

关联规则的支持度和置信度,推荐系统/RS,# RS/召回层,算法

 以此类推,如果我们有三个想分析关联性的数据X,Y和Z,则对应的支持度为:

关联规则的支持度和置信度,推荐系统/RS,# RS/召回层,算法

 一般来说,支持度高的数据不一定构成频繁项集,但是支持度太低的数据肯定不构成频繁项集。

2.2 置信度

置信度(confidence):确定Y在包含X的事务中出现的频繁程度。c(X⟶Y)=σ(X∪Y)÷σ(X)

  • 条件概率公式:P(Y∣X)=P(XY)÷P(X)
  • 置信度反映了关联规则的可信度,即购买了项目集X中的商品的顾客同时也购买了Y中商品的概率
  • 假设购买薯片的顾客中有50%也购买了可乐,则置信度为50%

置信度体现了一个数据出现后,另一个数据出现的概率,或者说数据的条件概率。如果我们有两个想分析关联性的数据X和Y,X对Y的置信度为

关联规则的支持度和置信度,推荐系统/RS,# RS/召回层,算法

也可以以此类推到多个数据的关联置信度,比如对于三个数据X,Y,Z,则X对于Y和Z的置信度为:

关联规则的支持度和置信度,推荐系统/RS,# RS/召回层,算法

举个例子,在购物数据中,纸巾对应鸡爪的置信度为40%,支持度为1%。则意味着在购物数据中,总共有1%的用户既买鸡爪又买纸巾;同时买鸡爪的用户中有40%的用户购买纸巾。

2.3 提升度

提升度(lift):物品集A的出现对物品集B的出现概率发生了多大的变化

  • lift(A==>B)=confidence(A==>B)÷support(B)=P(B∣A)÷P(B)
  • 假设现在有1000个顾客,其中500人买了茶叶,买茶叶的500人中有450人还买了咖啡。那么可以计算得confidence(茶叶==>咖啡)=450÷500=90%,由此,可能会认为喜欢喝茶的人往往喜欢喝咖啡。但是,如果另外没有购买茶叶的500人中也有450人买了咖啡,同样可以算出置信度90%,得到的结论是不爱喝茶的人往往喜欢喝咖啡。这与前面的结论矛盾了,由此看来,实际上顾客喜不喜欢喝咖啡和他喜不喜欢喝茶几乎没有关系,两者是相互独立的。此时,我们就有提升度这一指标来描述这一现象。
    在这个例子中,lift(茶叶==>咖啡)=confidence(茶叶==>咖啡)÷support(咖啡)=90%÷[(450+450)÷1000]=1
  • 由此可见,提升度弥补了置信度的这一缺憾,如果提升都等于1,那么X与Y独立,X对Y的出现的可能性没有提升作用。提升度越大(lift > 1),则表明X对Y的提升程度越大,也表明X与Y的关联性越强。

提升度表示含有Y的条件下,同时含有X的概率,与X总体发生的概率之比,即:

关联规则的支持度和置信度,推荐系统/RS,# RS/召回层,算法

提升度体先了X和Y之间的关联关系, 提升度大于1则X⇐Y是有效的强关联规则, 提升度小于等于1则X⇐Y是无效的强关联规则 。一个特殊的情况,如果X和Y独立,则有Lift(X⇐Y)=1,因为此时P(X|Y)=P(X)。

一般来说,要选择一个数据集合中的频繁数据集,则需要自定义评估标准。最常用的评估标准是用自定义的支持度,或者是自定义支持度和置信度的一个组合。

三、案例

下面举一个例子,来更深层次的理解支持度和置信度:

关联规则的支持度和置信度,推荐系统/RS,# RS/召回层,算法
计算 A==>C 的支持度和置信度

  • 支持度:即同时购买了商品A和C的顾客的比率 = 2 ÷ 4 = 50 % 
  • 置信度:即在购买了商品A的顾客中,购买了商品C的比率 = 2 ÷ 3 = 66.7 % 

计算 C==>A 的支持度和置信度

  • 支持度:即同时购买了商品C和A的顾客的比率(其实和A==>C的支持度是一样的) = 2 ÷ 4 = 50 % 
  • 置信度:即在购买了商品C的顾客中,购买了商品A的比率 = 2 ÷ 2 = 100 % 

我们一般可以用 X==>Y(支持度,置信度)的格式表示规则的支持度和置信度,具体如下所示

  • A==>C(50%,66.7%)
  • C==>A(50%,100%)

一般地,我们会定义最小支持度(minsupport)和最小置信度(minconfidence),若规则X==>Y的支持度分别大于等于我们定义的最小支持度和最小置信度,则称关联规则X==>Y为强关联规则,否则称为弱关联规则。我们通常会把注意力放在强关联规则上。

四、所有指标的公式

关联规则的支持度和置信度,推荐系统/RS,# RS/召回层,算法


Apriori算法原理总结 - 刘建平Pinard - 博客园文章来源地址https://www.toymoban.com/news/detail-734722.html

到了这里,关于数据关联规则:概述【频繁项集评估标准:支持度(support)、置信度(confidence)、提升度(lift)】【算法:Aprior、FP-Tree、GSP、CBA】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据挖掘-关联规则学习-Apriori算法原理

    比如你女朋友,低头玩手指+沉默,那大概率生气了,那这就是你总结出来的规则。啤酒与尿布的例子相信很多人都听说过吧,故事是这样的:在一家超市中,人们发现了一个特别有趣的现象,尿布与啤酒这两种风马牛不相及的商品居然摆在一起,但这一奇怪的举措居然使尿布

    2024年02月11日
    浏览(53)
  • python数据分析 - 关联规则Apriori算法

    关联规则 : 是反映一个事物与其他事物之间的相互依存性和关联性 常用于实体商店或在线电商的推荐系统:通过对顾客的购买记录数据库进行关联规则挖掘,最终目的是发现顾客群体的购买习惯的内在共性,例如购买产品A的同时也连带购买产品B的概率,根据挖掘结果,调

    2024年02月07日
    浏览(48)
  • 关联规则挖掘(上):数据分析 | 数据挖掘 | 十大算法之一

    ⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者: 秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们 点赞👍🏻、收藏

    2024年02月07日
    浏览(44)
  • 大数据关联规则挖掘:Apriori算法的深度探讨

    在本文中,我们深入探讨了Apriori算法的理论基础、核心概念及其在实际问题中的应用。文章不仅全面解析了算法的工作机制,还通过Python代码段展示了具体的实战应用。此外,我们还针对算法在大数据环境下的性能局限提出了优化方案和扩展方法,最终以独到的技术洞见进行

    2024年01月24日
    浏览(57)
  • 数据分析实战 | 关联规则分析——购物车分析

    目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据预处理 七、生成频繁项集 八、计算关联度 九、可视化 数据集链接:Online Retail.xlsx 该数据集记录了2010年12月01日至2011年12月09日的541909条在线交际记录,包含以下8个属性:

    2024年02月05日
    浏览(42)
  • 《数据挖掘基础》实验:Weka平台实现关联规则挖掘

    进一步理解关联规则算法(Apriori算法、FP-tree算法),利用weka实现数据集的挖掘处理,学会调整模型参数,读懂挖掘规则,解释规则的含义 (1)随机选取数据集为对象,完成以下内容:(用两种方法:Apriori算法、FP-tree算法) 文件导入与编辑; 参数设置说明; 结果截图;

    2024年02月02日
    浏览(36)
  • 【数据可视化】动手用matplotlib绘制关联规则网络图

    下载文中数据、代码、绘图结果 如果想知道本文的关联规则数据是怎么来的,请阅读这篇文章 Python中似乎没有很方便的绘制网络图的函数。 下面是本人自行实现的绘图函数,如果想要运行,请点击上文的链接,下载数据和代码。 传入一个关联规则数据的DataFrame,这个DataF

    2024年03月11日
    浏览(73)
  • 利用weka进行数据挖掘——基于Apriori算法的关联规则挖掘实例

    首先,如果不熟悉weka的使用的话,可以从我的git仓库里面拉取一下weka的相关教程,仓库里面还有包含此次实例的所有资源 我们可以在weka的官网上下载weka软件:weka官网 如果下载速度慢的话也可以直接从我的git仓库里面拉取这个软件,软件是win64位的weka-3-8-6 然后找到对应版

    2024年02月06日
    浏览(32)
  • 大数据---聚类分析概述及聚类评估

    是把数据对象集合按照相似性划分成多个子集的过程。 每个子集是一个簇(cluster),分类的最终效果:使得簇中的对象彼此相似,但与其他簇中的对象相异。 聚类是无监督学习,因为给的数据没有类标号信息。 分类 有监督学习; 通过带标签的样本进行学习,生成分类模型

    2024年02月03日
    浏览(31)
  • 数据挖掘——关联规则(Association Rule)Apriori算法和python代码实现

    关联规则(Association Rules)是反映一个事物与其他事物之间的相互依存性和关联性,是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。 用一些例子来说明一下: 当我们在超市进行购物时,超市中有琳琅满目的商品,在每一次购物结束之后,

    2024年02月04日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包