一:什么是关联规则挖掘
Association Rule
如果一个人买了A,那么他买B的概率是多少。
关联规则挖掘的三个重要的基本概念:Support,Confidence,Lift.
Support:一个关联规则的支持度 Confidence:置信度 Lift:相关性
形式化定义:
I = {i1,i2...in}包含n个二元变量(布尔变量),每一个i代表一个物品。in=1代表该物品在购物篮中出现,反之等于0就是没有出现。D = {t1,t2...tm}包含m个交易,称D为一个数据库。每一个交易tj包含物品集合I的一个子集。比如下图t1那一行就是一个交易,该交易包含一个完整的物品集合。
一个关联规则定义为X=>Y(通过是否买X推出是否买Y,证明他们是否关联),X,Y都属于I。一般X,Y不相交。(肯定啦,因为要通过X推导出Y嘛,买了牛奶肯定会买牛奶对吧)
总共有多少个关联规则呢?如果给你n个二元变量,都是取1或者0。(2^n - 1)^2 个。
再回过头来看看support,confidence和lift。
support是基础:所有的交易中(T是交易总数),t是在T这个数据库中的数据,t的交易中都出现了X。换言之,就是出现X的交易占总体交易的多少。
Confidence:利用support得到的条件概率。在所有出现X的交易记录中,有多少条出现Y。
Lift:分子代表X和Y共同出现的概率,分母是X和Y独自出现的乘积。信息论中互信息的定义。
二:关联数据挖掘概念及算法
supp(x)和conf(X->y)必须大于某个阈值
理解:如果supp(x)很小,那么研究这个就没有意义;conf一样。
算法的设计:
1. 定义supp(x)的阈值来挖掘频繁集->重点哟
理解:放更多的关注在那些交易比较多的物品或者交易。在一个数据库中频繁出现的集合。
2. 定义conf(X->y)的阈值用来挖掘关联规则->简单统计