Python中的Apriori关联算法-市场购物篮分析

数据科学Apriori算法是一种数据挖掘技术,用于挖掘频繁项集和相关的关联规则。本模块重点介绍什么是关联规则挖掘和Apriori算法,以及Apriori算法的用法。此外,在小型企业场景中,我们将借助Python编程语言构建一个Apriori模型。

什么是关联规则挖掘?

如前所述,Apriori算法用于关联规则挖掘。现在,什么是关联规则挖掘?关联规则挖掘是一种用于识别一组项目之间的频繁模式和关联的技术。

例如,了解客户的购买习惯。通过查找顾客放置在其“购物篮”中的不同商品之间的关联和关联,可以得出重复的模式.

识别产品/商品之间的关联的过程称为关联规则挖掘。为了实现关联规则挖掘,已经开发了许多算法。Apriori算法是其中最受欢迎的算法,而且可以说是最有效的算法。让我们讨论什么是Apriori算法。

什么是先验算法?

Apriori算法假定频繁项集的任何子集都必须是频繁的。

假设包含{葡萄酒,薯条,面包}的交易也包含{葡萄酒,面包}。因此,根据Apriori原理,如果{酒,薯条,面包}很频繁,那么{酒,面包}也必须很频繁。

Apriori算法如何工作?

Apriori算法中的关键概念是,它假定一个频繁项集的所有子集都是频繁的。同样,对于任何不频繁的项目集,其所有超集也必须不频繁。

让我们在一个非常著名的业务场景市场篮分析的帮助下,尝试并理解Apriori算法的工作原理。

这是一个小时内包含六个事务的数据集。每个事务都是0和1的组合,其中0表示不存在某项,而1表示其存在。

交易编号 葡萄酒 薯片 面包 牛奶
1 1个 1个 1个 1个
2 1个 0 1个 1个
3 0 0 1个 1个
4 0 1个 0 0
5 1个 1个 1个 1个
6 1个 1个 0 1个

我们可以从这种情况下找到多个规则。例如,在葡萄酒,薯条和面包的交易中,如果购买了葡萄酒和薯条,那么客户也会购买面包。

{葡萄酒,薯条} => {面包}

现在我们知道了找出有趣规则的方法,让我们回到示例中。在开始之前,让我们将支持阈值固定为50%。

步骤1:创建所有交易中出现的所有项目的频率表

项目 频率
葡萄酒 4
薯片 4
面包 4
牛奶 5

步骤2根据支持阈值查找重要项目

支持阈值= 3

项目 频率
葡萄酒 4
薯片 4
面包 4
牛奶 5

步骤3从重要的项目开始,使成对的商品与订单无关

项目 频率
葡萄酒,薯条 3
葡萄酒,面包 3
葡萄酒,牛奶 4
薯条,面包 2
薯片,牛奶 3
面包,牛奶 4

步骤4根据支持阈值找到重要项目

项目 频率
葡萄酒,牛奶 4
面包,牛奶 4

第5步:根据第4步中的重要商品,三件一起购买的商品

项目 频率
葡萄酒,面包,牛奶 3

{酒,面包,牛奶}是从给定数据中获得的唯一重要项目集。但是在实际场景中,我们将有数十个项目可用来构建规则。然后,我们可能必须制作四对/五对项集。

Python中的Apriori算法-市场篮子分析

问题陈述

一家零售商店的经理正在尝试找出六个商品之间的关联规则,以找出哪些商品更经常一起购买,以便他可以将这些商品放在一起以增加销量。

数据集

以下是第一天的交易数据。此数据集包含6个项目和22个交易记录。

?

使用Python进行市场购物篮分析

我们将实现Apriori算法,以帮助经理进行市场分析。

步骤1:导入库

步骤2:载入资料集

?

步骤3:浏览记录

?

步骤4:查看

?

步骤5: 将Pandas DataFrame转换为列表列表

步骤6:建立Apriori模型

?

步骤7:打印出规则数量

步骤8:浏览规则

?

第一条规则的支持值为0.5。该数字是通过将包含“牛奶”,“面包”和“黄油”的交易数量除以交易总数而得出的。

该规则的置信度为0.846,这表明在同时包含“牛奶”和“面包”的所有交易中,也有84.6%的交易包含“黄油”。

提升1.241告诉我们,同时购买“牛奶”和“黄油”的顾客购买“黄油”的可能性是“黄油”的默认可能性的1.241倍。

如果您有任何疑问,请在下面发表评论。

?

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

?QQ:3025393450

?QQ交流群:186388004 

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

欢迎选修我们的R语言数据分析挖掘必知必会课程!

原文地址:https://www.cnblogs.com/tecdat/p/11713808.html

时间: 2024-09-28 22:33:04

Python中的Apriori关联算法-市场购物篮分析的相关文章

Python中的二叉树查找算法模块

问题 思路说明 二叉树查找算法,在开发实践中,会经常用到.按照惯例,对于这么一个常用的东西,Python一定会提供轮子的.是的,python就是这样,一定会让开发者省心,降低开发者的工作压力. python中的二叉树模块内容: BinaryTree:非平衡二叉树 AVLTree:平衡的AVL树 RBTree:平衡的红黑树 以上是用python写的,相面的模块是用c写的,并且可以做为Cython的包. FastBinaryTree FastAVLTree FastRBTree 特别需要说明的是:树

数据挖掘算法之-关联规则挖掘(Association Rule)(购物篮分析)

在各种数据挖掘算法中,关联规则挖掘算是比较重要的一种,尤其是受购物篮分析的影响,关联规则被应用到很多实际业务中,本文对关联规则挖掘做一个小的总结. 首先,和聚类算法一样,关联规则挖掘属于无监督学习方法,它描述的是在一个事物中物品间同时出现的规律的知识模式,现实生活中,比如超市购物时,顾客购买记录常常隐含着很多关联规则,比如购买圆珠笔的顾客中有65%也购买了笔记本,利用这些规则,商场人员可以很好的规划商品摆放问题: 为叙述方便,设R= { I1,I2 ......Im} 是一组物品集,W 是一组事

R语言和数据分析十大:购物篮分析

提到数据挖掘,我们的第一个反应是之前的啤酒和尿布的故事听说过,这个故事是一个典型的数据挖掘关联规则.篮分析的传统线性回归之间的主要差别的差别,对于离散数据的相关性分析: 常见的关联规则: 关联规则:牛奶=>卵子[支撑=2%,置信度=60%] 支持度:分析中的所有事务的2%同一时候购买了牛奶和鸡蛋,需设定域值,来限定规则的产生. 置信度:购买了牛奶的筒子有60%也购买了鸡蛋,需设定域值,来限定规则的产生. 最小支持度阈值和最小置信度阈值:由挖掘者或领域专家设定. 与关联分析相关的专业术语包含: 项

R语言与数据分析之十:购物篮分析

提到数据挖掘,我们第一反应就是之前听到的啤酒和尿不湿的故事,该故事就是典型的数据挖掘中的关联规则.购物篮分析区别于传统的线性回归的主要区别为,关联分析针对离散数据: 常见关联规则: 关联规则:牛奶=>鸡蛋[支持度=2%,置信度=60%] 支持度:分析中的全部事务的2%同时购买了牛奶和鸡蛋,需设定域值,来限定规则的产生: 置信度:购买了牛奶的筒子有60%也购买了鸡蛋,需设定域值,来限定规则的产生: 最小支持度阈值和最小置信度阈值:由挖掘者或领域专家设定. 与关联分析相关的专业术语包括: 项集:项(

使用excel进行数据挖掘(8)---- 购物篮分析

在配置环境后,可以使用excel进行数据挖掘. 环境配置问题可参阅: http://blog.csdn.net/xinxing__8185/article/details/46445435 样例 DMAddins_SampleData.xlsx 文件下载地址:http://download.csdn.net/detail/xinxing__8185/8780481 在数据表中,选择table analysis tools sample表,该表中是用户的信息统计,包括婚姻状况,性别,收入,子女,教

Apriori 关联算法学习

1. 挖掘关联规则 1.1   什么是关联规则 一言蔽之,关联规则是形如X→Y的蕴涵式,表示通过X可以推导“得到”Y,其中X和Y分别称为关联规则的先导(antecedent或left-hand-side, LHS)和后继(consequent或right-hand-side, RHS) 1.2   如何量化关联规则 关联规则挖掘的一个典型例子便是购物车分析.通过关联规则挖掘能够发现顾客放入购物车中的不同商品之间的关联,分析顾客的消费习惯.这种关联规则的方向能够帮助卖家了解哪些商品被顾客频繁购买,

scikit-opt——Python中的群体智能优化算法库

安装 pip install scikit-opt 对于当前的开发者版本: git clone [email protected]:guofei9987/scikit-opt.git cd scikit-opt pip install . Genetic Algorithm 第一步:定义你的问题 import numpy as np def schaffer(p): ''' This function has plenty of local minimum, with strong shocks

python中logging会重复写日志的问题分析

点击链接加入QQ群 522720170(免费公开课.视频应有尽有):https://jq.qq.com/?_wv=1027&k=5C08ATe 现象 小强python全栈自动化测试班的学员问到,会出现重复写日志的情况,如下 原因 当第二次调用log的时候,根据getLogger(name)里的name获取同一个logger,而这个logger里已经有了第一次你添加的handler,第二次调用又添加了一个handler,也就是说这个logger里有了两个同样的handler,所以就会出现调用几次就

第十四篇:Apriori 关联分析算法原理分析与代码实现

前言 想必大家都听过数据挖掘领域那个经典的故事 - "啤酒与尿布" 的故事. 那么,具体是怎么从海量销售信息中挖掘出啤酒和尿布之间的关系呢? 这就是关联分析所要完成的任务了. 本文将讲解关联分析领域中最为经典的Apriori算法,并给出具体的代码实现. 关联分析领域的一些概念 1. 频繁项集: 数据集中经常出现在一起的物品的集合.例如 "啤酒和尿布" 2. 关联规则: 指两个物品集之间可能存在很强的关系.例如 "{啤酒} -> {尿布}"