关联规则
我的理解是,关联规则表示是多种事物之间的联系。这样讲有点模糊,看一下具体的吧。
我们一般会说“一般买了牙膏的人还喜欢再买牙刷”,“很多人买了锅子一定会再买一个锅盖”,这样的联系就叫做关联规则,也就是可以表示为“牙膏=>牙刷”,“锅子=>锅盖”。请注意,这里的“一般”、“很多人”这种不确定的词汇,可以通过数据挖掘给出确定的比例或者概率,也就是之后谈到支持度(support)置信度(confident)。
为什么要挖掘这些关联规则呢,如果超市了解到买了牙膏的很多人还要买牙刷,那么就可以对此开展各类促销活动;买了锅子的人还要买锅盖,那么可以免费送锅盖从而促销比较贵的锅子;等等。这些促销方式暂且不讨论,有了这些关联规则,我们就知道了下一步的促销方向和突破口在那里了,对症下药,对吧。
基本概念
项目集+事务集
**I = {i1,i2,…in} 为项目集。
D= {t1,t2,..tn} 为事务集,每个tn都是对应I上的子集I’。**
例如:
I={牙刷,锅盖,牙膏,鱼肉,面包……}
集合中包含的全是个体元素,也就是超市中所售卖的所有商品,那么就用in来一一表示这些商品。
D={
{牙刷,牙膏,面包,食用油},
{鱼肉,醋,锅子,锅盖,食用油},
{面包,食用油},
{面包,果酱,牙刷,牙膏,饺子},
{鱼肉,笔记本,食用油,锅子},
{鱼子酱,牙刷,牙膏,食用油,面包},
{猪肉,锅子,锅盖,辣椒},
}
开始说过了,每个tn对应的是I上的子集。这里我们就把tn理解成每位顾客的个人购买记录都被单独记录了下来。
支持度
简单的理解就是对于I的某个子集I’,在D中所有事物中,有多少个事物包含了I’,算出这个比例,计算公式如下:
support(I’)=‖{t∈D|I’⊆t}‖ / ‖D‖
例如:
对于I’={牙刷},上面D中包