关联规则分析与Apriori算法

关联规则

前言

关联规则是形如X → Y的表达式,X称为前件,Y称为后件。注意X和Y不是指单一的商品,而是指上面提到的项集,比如其形式可以为:{A, B} → {C},其含义就是如果购买商品A和B的用户也会买C。

一、Apriori算法简介

关联规则分析的最终目标是要找出强关联规则,从而实现对目标客户的商品推荐。
Apriori算法是最著名的关联规则的挖掘算法之一,其核心是一种递推算法。

二、Apriori算法步骤

  1. 设定最小支持度和最小置信度
  2. 根据最小支持度找出所有的频繁项集
  3. 根据最小置信度发现强关联规则

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)

输出结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值