关联规则挖掘(一):基本概念
本文主要来自《数据仓库和数据挖掘》一书,这本书讲的和维基百科里的非常相似,怀疑是从某本外文书籍里翻译过来的。
关联规则挖掘(Association rule mining)是数据挖掘中最活跃的研究方法之一,可以用来发现事情之间的联系,最早是为了发现超市交易数据库中不同的商品之间的关系。
这里有一则沃尔玛超市的趣闻。沃尔玛曾今对数据仓库中一年多的原始交易数据进行了详细的分析,发现与尿布一起被购买最多的商品竟然是啤酒。借助数据仓库和关联规则,发现了这个隐藏在背后的事实:美国的妇女经常会嘱咐丈夫下班后为孩子买尿布,而30%~40%的丈夫在买完尿布之后又要顺便购买自己爱喝的啤酒。根据这个发现,沃尔玛调整了货架的位置,把尿布和啤酒放在一起销售,大大增加了销量。
这里借用一个引例来介绍关联规则挖掘[1]。
表1 某超市的交易数据库
交易号TID | 顾客购买的商品 | 交易号TID | 顾客购买的商品 |
T1 | bread, cream, milk, tea | T6 | bread, tea |
T2 | bread, cream, milk | T7 | beer, milk, tea |
T3 | cake, milk | T8 | bread, tea |
T4 | milk, tea | T9 | bread, cream, milk, tea |
T5 | bread, cake, milk | T10 | bread, milk, tea |
定义一:设I={i1,i2,…,im},是m个不同的项目的集合,每个ik称为一个项目。项目的集合I称为项集。其元素的个数称为项集的长度,长度为k的项集称为k-项集。引例中每个商品就是一个项目,项集为I={bread, beer, cake,cream, milk, tea},I的长度为6。
定义二:每笔交易T是项集I的一个子集。对应每一个交易有一个唯一标识交易号,记作TID。交易全体构成了交易数据库D,|D|等于D中交易的个数。引例中包含10笔交易,因此|D|=10。
定义三:对于项集X,设定count(X⊆T)为交易集D中包含X的交易的数量,则项集X的支持度为:
引例中X={bread, milk}出现在T1,T2,T5,T9和T10中,所以支持度为0.5。
定义四:最小支持度是项集的最小支持阀值,记为SUPmin,代表了用户关心的关联规则的最低重要性。支持度不小于SUPmin 的项集称为频繁集,长度为k的频繁集称为k-频繁集。如果设定SUPmin为0.3,引例中{bread, milk}的支持度是0.5,所以是2-频繁集。
定义五:关联规则是一个蕴含式:
R:X⇒Y
其中X⊂I,Y⊂I,并且X∩Y=⌀。表示项集X在某一交易中出现,则导致Y以某一概率也会出现。用户关心的关联规则,可以用两个标准来衡量:支持度和可信度。
定义六:关联规则R的支持度是交易集同时包含X和Y的交易数与|D|之比。即:
support(X⇒Y)=count(X⋃Y)/|D|
支持度反映了X、Y同时出现的概率。关联规则的支持度等于频繁集的支持度。
定义七:对于关联规则R,可信度是指包含X和Y的交易数与包含X的交易数之比。即:
confidence(X⇒Y)=support(X⇒Y)/support(X)
可信度反映了如果交易中包含X,则交易包含Y的概率。一般来说,只有支持度和可信度较高的关联规则才是用户感兴趣的。
定义八:设定关联规则的最小支持度和最小可信度为SUPmin和CONFmin。规则R的支持度和可信度均不小于SUPmin和CONFmin ,则称为强关联规则。关联规则挖掘的目的就是找出强关联规则,从而指导商家的决策。
这八个定义包含了关联规则相关的几个重要基本概念,关联规则挖掘主要有两个问题:
- 找出交易数据库中所有大于或等于用户指定的最小支持度的频繁项集。
- 利用频繁项集生成所需要的关联规则,根据用户设定的最小可信度筛选出强关联规则。
目前研究人员主要针对第一个问题进行研究,找出频繁集是比较困难的,而有了频繁集再生成强关联规则就相对容易了。生成频繁集比较经典的算法有Apriori算法。
参考文献:
[1] 韩慧等。数据仓库与数据挖掘。清华大学出版社,2009。
[2] Association rule mining. http://en.wikipedia.org/wiki/Association_rule_mining, 2011.
关联规则挖掘(一):基本概念相关推荐
- 关联规则挖掘基本概念与Aprior算法
关联规则挖掘在电商.零售.大气物理.生物医学已经有了广泛的应用,本篇文章将介绍一些基本知识和Aprori算法. 啤酒与尿布的故事已经成为了关联规则挖掘的经典案例,还有人专门出了一本书<啤酒与尿布 ...
- 数据挖掘2.4——关联规则挖掘 知识点整理
数据挖掘2.4--关联规则挖掘 1.基本概念 1.1定义 2.频繁项挖掘算法 2.1降低产生频繁顷集计算复杂度的算法 2.2 Apriori 2.3 FPGrowth 2.4 产生关联规则 3.关联分 ...
- R语言使用apriori算法进行关联规则挖掘实战:关联规则概念、频繁项集、支持度(support)、置信度(confidence)、提升度(lift)、apriori算法
R语言使用apriori算法进行关联规则挖掘实战:关联规则概念.频繁项集.支持度(support).置信度(confidence).提升度(lift).apriori算法 目录
- 【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 Transaction 概念 | 项 Item 概念 | 项集 Item Set | 频繁项集 | 示例解析 )
文章目录 一. 关联规则挖掘简介 二. 数据集 与 事物 ( Transaction ) 概念 三.项 ( Item ) 概念 四.项集 ( Item Set ) 概念 五.频繁项集 六.数据集.事物 ...
- 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
我计划整理数据挖掘的基本概念和算法,包括关联规则挖掘.分类.聚类的常用算法,敬请期待.今天讲的是关联规则挖掘的最基本的知识. 关联规则挖掘在电商.零售.大气物理.生物医学已经有了广泛的应用,本篇文章将 ...
- 【数据挖掘】关联规则挖掘 Apriori 算法 ( Apriori 算法过程 | Apriori 算法示例 )
文章目录 一. Apriori 算法过程 二. Apriori 算法示例 参考博客 : [数据挖掘]关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 Transaction ...
- 【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则性质 | 非频繁项集超集性质 | 频繁项集子集性质 | 项集与超集支持度性质 )
文章目录 一. 非频繁项集超集性质 二. 频繁项集子集性质 三. 项集与超集支持度性质 参考博客 : [数据挖掘]关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 Trans ...
- 【数据挖掘】关联规则挖掘 Apriori 算法 ( 频繁项集 | 非频繁项集 | 强关联规则 | 弱关联规则 | 发现关联规则 )
文章目录 一. 频繁项集 二. 非频繁项集 三. 强关联规则 四. 弱关联规则 五. 发现关联规则 参考博客 : [数据挖掘]关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 ...
- 【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则 | 数据项支持度 | 关联规则支持度 )
文章目录 一. 关联规则 二. 数据项支持度 三. 关联规则支持度 参考博客 : [数据挖掘]关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 Transaction 概念 ...
最新文章
- Jquery 将后台返回的字符串转换成Json格式的数据
- 服务器忘记linux系统密码,linux系统服务器忘记密码怎么办
- 利用Servlet实现用户永久登录
- 三、Git多人开发:不同人修改了同文件的不同区域如何处理
- EhCache的配置
- python list元素合并_Python-列表+-01-两个列表各元素合并
- C# Winform 防止MDI子窗体重复打开
- 未来教育2019年计算机三级数据库,2019年计算机三级数据库考试强化试题及答案012...
- Office文件格式兼容包FileFormatConverters(office 2010)
- 34款Firefox渗透测试插件
- ModuleNotFoundError: No module named ‘keras.api‘解决
- MySql安装版安装最新教程(附错误解决 )
- 我的中兴五年:加班为何成了底层员工心中永远的痛
- android里面的USB功能----Host模式
- 计算机网络.第四节课.笔记.CRC循环冗余检验、透明传输、SOH、EOT、PPP点对点协议、零比特填充、字节填充
- 宇宙的本源—存在之道和变化之道
- 软件定义网络基础(SDN①)
- Linux操作系统中网络配置命令
- 如何在网页中用上自己下载的字体
- Elasticsearch7.x 基本查询
热门文章
- 无线传感器网络的时钟同步估计问题(Matlab代码实现)
- OFDM 和 OFDMA
- windows程序设计相关思想
- 【024】Vue+Springboot+mysql员工考勤管理系统(多角色登录、请假、打卡)(含源码、数据库、运行教程、实验报告)
- vue z-index层级显示问题
- CMMI2.0是什么?
- Ariane和riscv-gnu-toolchain工具链的安装
- 抖音电商副总裁木青:抖音电商正在成为服饰行业的增量风口
- mac安装java开发环境-包含JDK、Maven、Svn、Idea
- JAVA高级---(2)15分钟入门JVM底层原理