关联规则
前言
关联规则是形如X → Y的表达式,X称为前件,Y称为后件。注意X和Y不是指单一的商品,而是指上面提到的项集,比如其形式可以为:{A, B} → {C},其含义就是如果购买商品A和B的用户也会买C。
一、Apriori算法简介
关联规则分析的最终目标是要找出强关联规则,从而实现对目标客户的商品推荐。
Apriori算法是最著名的关联规则的挖掘算法之一,其核心是一种递推算法。
二、Apriori算法步骤
- 设定最小支持度和最小置信度
- 根据最小支持度找出所有的频繁项集
- 根据最小置信度发现强关联规则
1.实例
代码如下(示例):
transactions = [['A', 'B', 'C'],
['A', 'B'],
['B', 'C'],
['A', 'B', 'C', 'D'],
['B', 'C', 'D']]
代码如下(示例):
from apyori import apriori
# 调用apriori函数,指定最小支持度和最小置信度
rules = apriori(transactions,min_support=0.4,min_confidence=0.8)
# 将生成器对象转化成列表
results = list(rules)
for i in results: # 遍历results中的每一个频繁项集
for j in i.ordered_statistics: # 获取频繁项集中的关联规则
X = j.items_base # 关联规则的前件
Y = j.items_add # 关联规则的后件
x = ", ".join([item for item in X]) # 连接前件中的元素
y = ", ".join([item for item in Y]) # 连接后件中的元素
if x != '': # 防止出现关联规则前件为空的情况
print(x+' → '+y)
输出结果