关联规则挖掘(一):基本概念
来源:互联网 发布:狗窝图片及价格淘宝网 编辑:程序博客网 时间:2024/05/14 15:46
关联规则挖掘(一):基本概念
本文主要来自《数据仓库和数据挖掘》一书,这本书讲的和维基百科里的非常相似,怀疑是从某本外文书籍里翻译过来的。
关联规则挖掘(Association rule mining)是数据挖掘中最活跃的研究方法之一,可以用来发现事情之间的联系,最早是为了发现超市交易数据库中不同的商品之间的关系。
这里有一则沃尔玛超市的趣闻。沃尔玛曾今对数据仓库中一年多的原始交易数据进行了详细的分析,发现与尿布一起被购买最多的商品竟然是啤酒。借助数据仓库和关联规则,发现了这个隐藏在背后的事实:美国的妇女经常会嘱咐丈夫下班后为孩子买尿布,而30%~40%的丈夫在买完尿布之后又要顺便购买自己爱喝的啤酒。根据这个发现,沃尔玛调整了货架的位置,把尿布和啤酒放在一起销售,大大增加了销量。
这里借用一个引例来介绍关联规则挖掘[1]。
表1 某超市的交易数据库
交易号TID顾客购买的商品交易号TID顾客购买的商品T1bread, cream, milk, teaT6bread, teaT2bread, cream, milkT7beer, milk, teaT3cake, milkT8bread, teaT4milk, teaT9bread, cream, milk, teaT5bread, cake, milkT10bread, 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的支持度为:
定义四:最小支持度是项集的最小支持阀值,记为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 ,则称为强关联规则。关联规则挖掘的目的就是找出强关联规则,从而指导商家的决策。
- 找出交易数据库中所有大于或等于用户指定的最小支持度的频繁项集。
- 利用频繁项集生成所需要的关联规则,根据用户设定的最小可信度筛选出强关联规则。
- 关联规则挖掘(一):基本概念
- 关联规则挖掘(一):基本概念
- 关联规则挖掘:基本概念
- 关联规则挖掘(一)
- 关联规则挖掘基本概念与Aprior算法
- 关联规则挖掘基本概念与Aprior算法
- 关联规则挖掘基本概念与Aprior算法
- 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
- 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
- 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
- 数据挖掘(1):关联规则挖掘基本概念与Aprior算法
- 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
- 数据挖掘(1):关联规则挖掘基本概念与Aprior算法
- 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
- 数据挖掘(1):关联规则挖掘基本概念与Aprior算法
- 数据挖掘(1):关联规则挖掘基本概念与Aprior算法
- 数据挖掘之关联分析一(基本概念)
- 数据挖掘之关联分析一(基本概念)
- 绑定窗口的异步套接字编程
- nyoj 摆方格
- hdu3507Print Article
- Swap Nodes in Pairs 链表交换相邻的节点
- 如何使用UiObject获取控件的className
- 关联规则挖掘(一):基本概念
- JVM高级特性与最佳实践-JVM内存管理
- python 中BeautifulSoup入门
- iOS-layoutSubviews(子视图层)
- openstack镜像上传错误
- Divide Two Integers 不使用乘除取余求除法
- 【算法竞赛入门经典】【第三章】课后习题(第一部分)
- 【PHP】PHPMailer发邮件详细说明
- Next Permutation 寻找下一个排列数