机器学习——关联规则
(一)关联规则原理
在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻父亲们中,有30%~40%的人同时要买一些啤酒。超市随后调整了货架的摆放,把尿布和啤酒放在一起,明显增加了销售额。
若两个或多个变量的取值之间存在某种规律性,就称为关联。
关联规则是寻找在同一个事件中出现的不同项的相关性,比如在一次购买活动中所买不同商品的相关性。
编号 | 牛奶 | 果冻 | 啤酒 | 面包 | 花生酱 |
---|---|---|---|---|---|
T1 | 1 | 1 | 0 | 0 | 1 |
T2 | 0 | 1 | 0 | 1 | 0 |
T3 | 0 | 1 | 1 | 0 | 0 |
T4 | 1 | 1 | 0 | 1 | 0 |
T5 | 1 | 0 | 1 | 0 | 0 |
T6 | 0 | 1 | 1 | 0 | 0 |
T7 | 1 | 0 | 1 | 0 | 0 |
T8 | 1 | 1 | 1 | 0 | 1 |
T9 | 1 | 1 | 1 | 0 | 0 |
一个样本称为一个事物
每个事务由多个属性来确定,这里的属性称为“项”
多个项组成的集合称为“项集”
由k个项构成的集合
{牛奶}、{啤酒}都是1-项集;
{牛奶,果冻}是2-项集;
{啤酒,面包,牛奶}是3-项集
X==>Y含义:
X和Y是项集
X称为规则前项(antecedent)
Y称为规则后项(consequent)
事务仅包含其涉及到的项目,而不包含项目的具体信息。
在超级市场的关联规则挖掘问题中事务是顾客一次购物所购买的商品,但事务中并不包含这些商品的具体信息,如商品的数量、价格等。
支持度(support):一个项集或者规则在所有事务中出现的频率,σ(X):表示项集X的支持度计数
- 项集X的支持度:s(X)=σ(X)/N。
- 规则X==>Y表示物品集X对物品集Y的支持度,也就是物品集X和物品集Y同时出现的概率。
- 某天共有100个顾客到商场购买物品,其中有30个顾客同时购买了啤酒和尿布,那么上述的关联规则的支持度就是30%。
置信度(confidence):确定Y在包含X的事务中出现的频繁程度。
c ( X → Y ) = σ ( X ∪ Y ) / σ ( X ) c(X\rightarrow Y)=\sigma (X\cup Y)/\sigma (X) c(X→Y)=σ(X∪Y)/σ(X)
- p ( Y ∣ X ) = p ( X Y ) / p ( X ) p(Y|X)=p(XY)/p(X) p(Y∣X)=p(XY)/p(X)
- 置信度反应了关联规则的可信度—购买了项目集X中的商品的顾客同时也购买了Y中商品的可能性有多大
- 购买薯片的