Apriori关联分析与实操

Apriori关联分析与实操

基础知识

在去杂货店买东西的过程,实际包含了许多机器学习的当前及未来应用,这包括物品的
展示方式、购物之后优惠券的提供以及用户忠诚度计划,等等。它们都离不开对大量数据的
分析。商店希望从顾客身上获得尽可能多的利润,所以他们必然会利用各种技术来达到这一
目的。
通过查看哪些商品经常在一起购买,可以帮助商店了解用户的购买行为。这种从数据海洋中
抽取的知识可以用于商品定价、市场促销、存货管理等环节。从大规模数据集中寻找物品间的隐
含关系被称作关联分析(association analysis)或者关联规则学习(association rule learning)。这
里的主要问题在于,寻找物品的不同组合是一项十分耗时的任务,所需的计算代价很高,蛮力搜
索方法并不能解决这个问题,所以需要用更智能的方法在合理的时间范围内找到频繁项集。本章
将介绍如何使用Aprior算法来解决上述问题。

总的来说,我们总结如下:
关联性分析:从大规模数据集中寻找物品间的隐含关系。
关系包括:频繁项集或者关联规则。
频繁项集:是经常出现在一起的物品集合。
关联规则:暗示两种物品中间可能存在很强的关系。

优点:易编码实现。
缺点:在大数据集上可能较慢。
适用数据类型:数值型或者标称型数据。

在这里插入图片描述

Apriori原理

在这里插入图片描述
在这里插入图片描述
这里引入一个很有趣的例子:

尿布与啤酒? 
关联分析中最有名的例子是“尿布与啤酒”。据报道,美国中西部的一家连锁店发现,男
人们会在周四购买尿布和啤酒。这样商店实际上可以将尿布与啤酒放在一块,并确保在周四全
价销售从而获利。当然,这家商店并没有这么做*。

Apriori算法的一般过程
(1) 收集数据:使用任意方法。
(2) 准备数据:任何数据类型都可以,因为我们只保存集合。
(3) 分析数据:使用任意方法。
(4) 训练算法:使用Apriori算法来找到频繁项集。
(5) 测试算法:不需要测试过程。
(6) 使用算法:用于发现频繁项集以及物品之间的关联规则。

算法实现

在这里插入图片描述
在这里插入图片描述
Apriori算法中的辅助函数
在这里插入图片描述

def loadDataSet():
    return [[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]]

def createC1(dataSet):
    C1 = []
    for transaction in dataSet:
        for item in transaction:
            if not [item]
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原创小白变怪兽

帮助原创小白成为怪兽吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值