关联规则(Association Rule) 是反映事物与事物间相互的依存关系和关联性的一个分析方法。如果两个或多个事物间存在一定的关联关系,则其中一个事物能够通过其他事物预测到。
最常见的场景就是购物篮分析(MarketBasket)。通过分析顾客购物篮中的不同商品之间的关系,来分析顾客的购买习惯。经典案例就是啤酒与尿布。
常见的关联规则算法有:
- Apriori算法
- ECLAT算法
例:根据某超市的购物篮信息,分析顾客的购物习惯,制定货物摆放或者捆绑销售策略。
流水 | 购买商品 |
---|---|
1001 | A,C,D |
1002 | B,C,E |
1003 | A,B,C,E |
1004 | B,E |
首先设定最小支持度为50%,最小置信度为50%(根据实际情况设定)
确定1项频繁项集
项集 | 支持度 |
---|---|
{A} | 50% |
{B} | 75% |
{C} | 75% |
{D} | 25% |
{E} | 75% |
{D}不满足预先设定的最小支持度,把它淘汰掉
结果:{A}:50%,{B}:75%,{C}:75%,{E}:75%
确定2项频繁项集
项集 | 支持度 |
---|---|
{A,B} | 25% |
{A,C} | 50% |
{A,E} | 25% |
{B,C} | 50% |
{B,E} | 75% |
{C,E} | 50% |
{A,B}、{A,E}不满足预先设定的最小支持度,把它们淘汰掉
结果:{A,C}:50%,{B,C}:50%,{B,E}:75%,{C,E}:50%
确定3项频繁项集
组合 | 项集 | 支持度 |
---|---|---|
{A,C}+{B,C} | {A,B,C} | 25% |
{A,C}+{B,E} | {A,B,C,E} | X |
{A,C}+{C,E} | {A,C,E} | 25% |
{B,C}+{B,E} | {B,C,E} | 50% |
{B,C}+{C,E} | {B,C,E} | |
{B,E}+{C,E} | {B,E,C} |
{A,B,C}、{A,B,C,E}、{A,C,E}都不满足预先设定的最小支持度,淘汰它们
结果:{B,C,E}:50%
确定关联规则: 非空子集:{B},{C},{E},{B,C},{B,E},{C,E}
规则 | 支持度 | 置信度 | 解读 |
---|---|---|---|
B->C | 75% | 66.7% | 有75%的人买了B,其中66.7%的人也买了C |
B->E | 75% | 100% | |
B->CE | 75% | 66.7% | |
C->E | 75% | 66.7% | |
C->BE | 75% | 100% | |
E->BC | 75% | 66.7% | |
BC->E | 50% | 100% | |
BE->C | 75% | 66.7% | |
CE->B | 50% | 100% |