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

news2024/11/17 23:24:58

数据科学Apriori算法是一种数据挖掘技术,用于挖掘频繁项集和相关的关联规则。本模块重点介绍什么是关联规则挖掘和Apriori算法,以及Apriori算法的用法。

去年,我们为一家公司进行了短暂的咨询工作,该公司正在构建一个主要基于Apriori关联算法的分析应用程序。此外,在小型企业场景中,我们将借助Python编程语言构建一个Apriori模型。

视频:R语言关联规则模型(Apriori算法)挖掘杂货店的交易数据与交互可视化

关联规则模型、Apriori算法及R语言挖掘杂货店交易数据与交互可视化

,时长07:03

   

什么是关联规则挖掘?

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

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

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

什么是先验算法?

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

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

Apriori算法如何工作?

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

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

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

交易编号葡萄酒薯片面包牛奶
11个1个1个1个
21个01个1个
3001个1个
401个00
51个1个1个1个
61个1个01个

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

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

现在我们知道了找出有趣规则的方法,让我们回到示例中。在开始之前,让我们将支持阈值固定为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倍。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/63349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用DIV+CSS技术设计的非遗文化网页与实现制作(web前端网页制作课作业)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

m基于自适应遗传优化的IEEE-6建设费用和网络损耗费用最小化电网规划算法matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 电力工业是当今世界各国经济的重要组成部分,随着世界经济的不断发展,电网的建设和中长期规划和经济发展之间的矛盾变得越来越突出,对电力系统的需求也变得越来…

微服务框架 SpringCloud微服务架构 16 SpringAMQP 16.7 DirectExchange

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构16 SpringAMQP16.7 DirectExchange16.7.1 发布订阅 - DirectExchange16.7.…

基于遗传优化算法的小车障碍物避障路线规划matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 一种通过模拟自然进化过程搜索最优解的方法,对于一个最优化问题,该算法通过一定数量的候选解种群迭代地执行选择、交叉、变异、评价等操作使得种群向更好的解进化。 遗传算…

MyBatisPlus简述

文章目录一、MyBatisPlus入门案例与简介1.入门案例2.springboot整合mybatis的方式3.springboot整合mybatisplus步骤1.创建环境,上面我们已经创建过了步骤2.创建数据库及表步骤2.pom.xml补全依赖步骤3.添加MP的相关配置信息步骤4.根据数据库表创建实体类步骤5.创建Da…

linux安装redis哨兵

安装环境 服务器一台: 服务器IP:172.169.3.251主从端口:6379、6380、6381哨兵端口,26379、26380、26381安装目录:/usr/local/redis配置文件目录:/usr/loca/redis/conf redis安装 1、下载redis wget ht…

设计模式--策略模式

文章目录前言一、未使用设计模式二、策略模式1.定义2.结构三、应用场景四、优缺点优缺参考资料前言 需求: 一天,产品经理走过来对你说。猫啊(自称),帮我设计一个计算器,需要的功能有求最大值,最…

【JavaEE-Servlet】Filter过滤器详解

Filter过滤器熟悉的关键字-Filter(回顾-联系-可以不看)Filter概述何时使用?Filter生命周期过滤器单个实现doFilter方法关于Filter的配置路径Filter的执行顺序在web.xml文件中进行配置的时候,Filter的执行顺序是什么?使…

HTML期末学生大作业-班级校园我的校园网页设计与实现html+css+javascript

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

[附源码]Python计算机毕业设计Django停车场管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

使用 JavaScript 检测用户是否在线

有时您可能希望增强您的应用程序以通知用户他们可能已经失去了互联网连接。 用户可能正在访问您的网站并收到缓存版本,因此通常看起来他们的互联网仍在工作。 然而,他们失去了引擎盖下的连接,并且不会加载任何新内容。 在这里向他们显示一些…

博客系统(页面设计)

努力经营当下,直至未来明朗! 文章目录前言一、【博客列表页】blog_list.html参考代码:二、【博客详情页】 blog_detail.html参考代码:三、【博客登录页】login.html参考代码:四、【博客编辑页】参考代码:【…

QFtp的使用

1. 环境 Win10 QT5.9.9 2. 相关说明 Qt5.0之后移除了QFtp类(基于FTP协议实现的一个类),并且使用 QNetworkAccessManager 实现了 Ftp 的上传/下载功能。尽管后者在性能上和稳定性上有所提升,但有些原本 QFtp 有的功能 QNetwork…

什么是微服务?

文章目录什么是微服务微服务技术栈单体架构分布式架构认识微服务微服务技术框架SpringCloud什么是微服务 当我们提到微服务,很多人第一反应就是SpringCloud,但是微服务技术并不能与SpringCloud完全划等号: 微服务是分布式架构的一种&#x…

AI视频监控在畜牧养殖中的技术应用解决方案

一、方案概况 随着养殖业迅猛发展的同时也给养殖业主带来了严峻挑战。对养殖业来说,养殖场大多建立在偏远地区,给集中管理带来不便;畜禽养殖成本大,丢失、偷盗等情况时有发生,容易造成巨大的经济损失。建立一套远程视…

013. N 皇后

1.题目链接: 51. N 皇后 2.解题思路: 2.1.题目要求: 给一个数字 n ,要求返回所有 n 个 皇后能在 n X n 的棋盘上 不相互攻击 的情况。 能攻击到的情况:以皇后自身为原点,横、竖、同斜线(45度…

Linux搭建单机多进程zookeeper集群

01 ZooKeeper是什么 ZooKeeper 是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 分布式应用程序可以基…

用数字隔离器取代传统的光耦合器

介绍 光耦合器是一种已有几十年历史的技术,广泛用于信号隔离,通常提供安全隔离、信号电平移位和地面回路缓解。它们通常用于广泛的终端应用中,包括数据通信电路、开关模式电源系统、测量和测试系统,以及孤立的数据采集系统。光耦…

【入门】初识深度学习

文档背景 机器学习和深度学习的概念十分火热。听上去也很难,不慌,有时候就需要行动在前脑子在后。不管,干就完啦。 前言 人工智能(ArtificialIntelligence,AI)是最宽泛的概念,是研发用于模拟、延…

数据库基本语法

SQL常用语句总结 mysql -u root -p mysql会提示你输入密码&#xff0c;输入安装配置MySQL服务时设置的密码即可。 输入如下命令生成样例数据库&#xff1a; CREATE DATABASE university; USE university; SOURCE <DLL.sql文件路径>; SOURCE <InsertStatements.sql文…