站浏览量 站访问人数
目录

不同用户的行为结果构成了不同物品的排列顺序,并且,在这些物品顺序中,存在着有价值的模式,即蕴涵着物品的隐含关系,找出物品间的隐含关系被称之为关联分析或关联规则学习。问题在于物品之间不同组合带来了数据量的指数暴增,寻找花费时间和存储,计算代价高昂,有Apriori和FP-growth方法解决。

首先,我们可以了解下关联规则的应用场景有哪些:

1,电商购物,了解购买行为,给物品做定价/促销/搭配存放/摆放位置等;
2,投票间的相关性,为竞选做预测分析;
3,寻找相似特征,比如寻找毒性集合中的公共特征;
4,社交内容中的共现词,抽取出频繁出现的词组合;
5,用户标签之间的联系,推理的一种关系;
6,。。。。

关联规则挖掘的一些基本概念:
1,项与项集
单个独立的物品称为项,而项的集合,称为项集,两个项的集合是二元项集,三个项的集合是三元项集,项集中的物品是没有重复的。此外,一个行为项集也称为一个事务,一个用户存在多个事务/项集。

2,关联规则
标示了物品间的隐含关系,即x–>y,x是先决条件,y是与之相应的关联结果,也就是在x的前提下,能够得到y。

2.1 支持度
是指所有项集中含{x,y}的个数或占总事务比,support{x,y},衡量关联规则在所有行为中的占比度,设置最小阈值可剔除掉那些少的,也就是认为不可能概率事件。满足最小支持度的项集,称之为频繁项。

2.2 置信度
标示了一个关联规则的可信度,即confidence(x->y)=support(x,y)/support(x),衡量了关联规则的质,同样也有最小置信度设置保证关联规则可靠。

2.3 提升度
是{x–>y}与没有x时有y的的比,lift{x->y}=confidence(x->y)/support(y)=support(x,y)/(support(x)*support(y)),与置信度一起衡量关联规则。
提升度也代表着相关性:
当lift{x->y}>1,则x出现与y出现时负相关的,一个出现导致另一个不出现;
当lift{x->y}<1,则x和y是正相关的,一个出现蕴涵着另一个出现;
当lift{x->y}=1,则x和y是独立的,相互独立的;

提升度可作为因果关系,在某些业务场景可以挖掘出细小规则,这些规则属于小样本,比如欺诈/异常点/等。

Apriori方法原理,
两个既定的认知:
1.1 某个项集是频繁的,那么它的非空子集也是频繁的。
1.2 如果一个项集是非频繁的,那么它的所有超集也是非频繁的。
注:x是项集,超集是指{x+其他任意一项}的集合,也就是必须有x,且还有其他项加入的集合。

Apriori算法的两个重要步骤,连接和剪枝,连接是产生集,剪枝是去掉不符合阈值的集。
步骤:
1,扫描事务总集合D,每个用户的item序列数据;
2,统计项集C1并计算支持度,然后,去掉小于阈值支持度的项集,得到L1。这里的C1是单个独立的item;
3,由L1生成项集C2并计算支持度,然后去掉小于阈值支持度的项集,得到L2.这里的C2是由L1中的item演变组合成的二元item组合,item不重复。
4,循环上述步骤,每次递增的加item个数;直到没有组合的item形成,即n=item个数是最大的组合。
5,最后把所有的组合列在一起,频繁项集间的两两前后推导关系得到关联规则,但是需要满足置信度阈值。

注:在生成项集过程中,遵照两个既定的认知,项集非频繁则其超集也非频繁,即剪枝操作。

growth方法原理:
不产生候选集,只遍历两遍数据库即可,步骤如下:
1,遍历一遍事务集,单个item的个数,然后按照递减排序,得到L,并且对事务集的每个事务的item顺序按照L的顺序重新排列;
2,构造全FP树,顺序遍历重新排列后的事务集,跟节点重null开始,然后根据事务的item顺序依次添加节点。
3,从叶节点找它们的模式基,基于这些模式基从新构造叶节点的条件FP树,把叶节点添加到条件FP里得到频繁模式。

条件模式基:在全FP树中,某item节点回溯上一个节点直到根,条件模式基的支持度=该item节点的支持度。