R语言改进关联规则挖掘Apriori在超市销售数据可视化

本文主要是介绍R语言改进关联规则挖掘Apriori在超市销售数据可视化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

全文链接:https://tecdat.cn/?p=33364

超市业已成为商业领域最具活力的商业业态,竞争也变得日益激烈。数据挖掘技术越来越多地服务于超市营销战略,本文在数据挖掘的基础上,深入分析了关联规则算法,研究算法的基本思想、算法的性质,并对算法进行详细的性能分析,比较了Apriori算法和改进Apriori算法。最后,采用R软件对超市数据进行挖掘,为超市营销提供策略点击文末“阅读原文”获取完整代码数据)。

相关视频

同时,关联规则也成功地应用到了电影、图书、超市购物、制造业等社会生活的许多方面。

因此,本文为了验证Apriori算法的可行性,使用了来自超市交易数据集,采用了顾客在超市购买的数据进行分析,从这些数据中找出有价值的规则,从而为超市提供有价值的营销策略。

关联规则

关联规则挖掘是数据挖掘领域成果颇丰而且比较活跃的研究分支,用于寻找给定数据集中数据项之间的有趣的关联或相关关系。关联规则揭示了数据项间的未知的依赖关系,根据所挖掘的关联关系,可以从一个数据对象的信息来推断另一个数据对象的信息。

简介

本文主要采用R软件进行数据挖掘。R是ISL公司开发的数据挖掘工具平台,能够高效分析海量数据,每一个环节中都支持CRISP-DM行业标准,为用户提供了大量的人工智能、统计分析的模型,如神经网络,关联分析,聚类分析、因子分析等。它可以帮助用户轻松获取、准备以及整合结构化数据和文本、网页、调查数据,快速建立和评估模型。

应用

本文分别用Apriori算法和改进Apriori算法对数据进行处理挖掘,具体结果如下所示。

Apriori算法

本数据采用了顾客在超市购买的数据进行分析,涉及意大利面、牛奶、水、面包饼干、咖啡、奶油蛋糕、酸奶、冷藏蔬菜、金枪鱼、啤酒、番茄酱、可乐、大米、果汁、咸饼干、油、冰冻鱼、冰淇淋、奶酪、罐装肉多种商品,如果顾客购买了该商品,则记为1,如果没有购买该商品,则记为0。

数据如图所示:

1528c1cd36d20e8b89510f228afcfb87.png

虽然 Apriori 算法可以直接挖掘生成表中的交易数据集,但是为了关联挖掘其他算法的需要先把交易数据集转换成分析数据集,构建的数据流如图 1 所示。

c707d5af520ea4d02b3bf216fe62c704.png

图 1 商品关联规则 Apriori 算法挖掘流图

1 commodity mining association rules Apriori algorithm flow graph


parameter=list(maxlen=10,support=support,confidence=confidence,minlen=i)
plot(rules

为了找出每个物品在所有交易中出现的频繁程度,我们绘制了每个物品的频率直方图。

9ec92faa86724efe65347a0bb38302f3.png

从上图,我们可以看到milk的出现次数是最多的,其次是water和pasta。而yoghurt的购买次数是所有物品中购买次数最少的物品。

通过格式转换,发现数据源中共有二十种商品,设最低条件支持度为15%,最小规则置信度为30%,最大前项数为5,选择专家模式,挖掘出大类商品的15条关联规则,如下图所示。生成的15条规则如下所示:

inspect(rules.sorted)

b3423837a6aad9b38d8ea65e1118b2f0.png

从结果中可以看到,购买milk的顾客有52%的可能性会购买yoghurt,有51.53%的可能性会购买biscuit。

有49%的可能性会购买coffee。因此,把这些物品放在一起可能会促进销量。然后,我们将规则的LHS和RHS绘制成矩阵如下图所示。

plot(rules, methodft")

e64f8e0f93df7e371cfa2196ea37809c.png

矩阵中的点的大小代表规则出现的频率。从矩阵中的点的大小,我们可以看到biscuite和milk在规则中出现的次数是比较多的,这也和它们在所有交易中出现次数较多一致。

为了直观看出物品之间的联系,我们将规则绘制成网络图来表示。如下图所示。

f88ed2f79d0fc36f2b146822aa5d617a.png


点击标题查阅往期内容

9194e1b9dd28fd111b86e2d096888f92.jpeg

R语言APRIORI关联规则、K-MEANS均值聚类分析中药专利复方治疗用药规律网络可视化

outside_default.png

左右滑动查看更多

outside_default.png

01

8f85323fc9f24ec9522cc001df5f08c6.png

02

41f14a4f7123aaddf244a7a1f7d2fe1f.png

03

3fd5633d7cae1a4dbad6af18c9af0ec9.png

04

d8fe32872226c94f82054d8dee07c470.png

从上图可以看到milk和biscuit之间有较强的联系,说明顾客中同时购买两个商品的可能性较大。另外。Coffe和pasta的联系也较强,说明顾客同时购买pasta和coffee的可能性也较大。为了查看所有规则的总体情况,我们将规则用如下的散点图表示。从下图可以看到规则的置信度在0.2到0.7之间较多,支持度在0.1到0.2之间。总的来说,得到的规则具有较高的置信度。

d572f71ccff6f2789d3423e8b3ccb806.png

分析及建议: 通过图 2 可以清晰的看到购买牛奶、意大利面、水、咖啡的顾客比较多,建议超市可以加大对这些商品的采购,由上述结果可知,同时购买牛奶、意大利面的情况占总订单数的46.132%,水和牛奶或意大利面和水分别占总订单数的27.851%,购买牛奶的人有45.855%会购买意大利面,46.704%的人会购买水,购买意大利面的人有34.824%会购买牛奶,有34.296%的人会购买水,由此可见,意大利面、水、牛奶这三种商品关联度较高,可以将意大利面、水、牛奶摆放在一块,从而增加销量。此外,在符合支持度和置信度的条件下没有顾客购买冷冻食、果汁等,建议有关人员减少这几种商品的进货量,但为了保持商品的多样性,还是要适当地进货。根据上述规则,公司在营销时可采取了如下策略:(l)将牛奶和意大利面放置在一起或进行捆绑销售;(2)使小甜饼和咖啡、牛奶三种不同种类商品的货架相邻,方便顾客购买。(3)营业员在顾客购买了一种商品后,适当推荐另一种商品,如顾客购买了牛奶可以对其推荐小甜饼。(4)在生产与发货运输上将关联产品配套安排。采取这些措施后,顾客的交叉消费大为提高,商场与顾客的满意度也有所提高。

改进CRApriori

"CRApriori"是一个算法的改进版本,该算法是基于Apriori算法的一种频繁项集挖掘算法。

Apriori算法是一种用于挖掘频繁项集的经典算法。该算法通过扫描事务数据库来识别频繁项集,然后使用频繁项集生成关联规则。然而,Apriori算法在处理大规模数据集时效率较低,因为它需要多次扫描数据库。

CRApriori算法是对Apriori算法的改进。它通过压缩数据库的方式来提高算法的效率。具体来说,CRApriori算法使用压缩后的数据结构来存储事务数据库,这样可以减少扫描数据库的次数,从而提高算法的执行速度。

CRApriori算法的改进主要体现在以下几个方面:

  1. 数据库压缩:通过压缩事务数据库的方式,减少了算法需要扫描数据库的次数,从而提高了算法的效率。

  2. 频繁项集生成:CRApriori算法使用压缩后的数据结构来生成频繁项集,这样可以减少生成频繁项集的时间。

  3. 关联规则生成:CRApriori算法使用压缩后的数据结构来生成关联规则,这样可以减少生成关联规则的时间。

总而言之,CRApriori算法是对Apriori算法的改进版本,通过压缩数据库的方式提高了算法的效率,特别是在处理大规模数据集时具有较好的性能。

运用改进算法CRApriori删除事务集中不包括候选项集Ci即频繁i-1项集L(i-1):

改进算法CRAprioriCRApriori=function(support,confidence){
for(i in 1:2){#parameter=list(support=support,maxlen=i)
frequentsets <- eclat(trans,parameter=list(minlen=i,support=support,maxlen=i))
inspect(frequentsets)#查看i项频繁项集
#这里如果支持度选的比较大,也许没有10这么多,这里就不能写[1:10].
inspect(sort(frequentsets,by="support")[1:10])#排序后查看

按置信度排序,挖掘出大类商品的6条关联规则,如下图所示。生成的6条规则如下所示:

e279338084cafe70b9ce55012b5c9310.png

1eda1c19b660d030eff1f3e3cf44a39f.png

d8f910c63c1c708ddc8f5976e326b285.png

64b28a7de7546abf9c1b590126b469f1.png

694fea866beea02b1122bb93c0781308.jpeg

从上图可以看到milk和biscuit之间有较强的联系,说明顾客中同时购买两个商品的可能性较大。另外。Coffe和pasta的联系也较强,说明顾客同时购买pasta和coffee的可能性也较大。

总结

数据挖掘中的关联规则侧重于不同对象之间的联系,本文讨论了关联规则挖掘在超市销售中的应用。利用R 软件,通过实例分析了频繁项集及关联规则生成的过程,采用Apriori算法和改进Apriori算法对数据分别进行了解析挖掘,针对挖掘结果提出了相应的建议,对超市的发展有着重要的现实的意义。

参考文献

[1]       R.Agrawal, T.Imielinski, A.Swami. Mining Association Rules between Sets of Items in Large Databases[M].New York.ACM Press,1993.

[2]       左映华, 高居泰, 李晋宏. 改进Apriori 关联规则算法的一种改进[J]. 韶关学院学报, 2004, 25(3): 51-55.

[3]       颜雪松, 蔡之华. 一种基于 Apriori 的高效关联规则挖掘算法的研究[J]. 计算机工程与应用, 2002, 38(10): 209-211.

[4]       王培吉, 赵玉琳, 吕剑峰. 基于 Apriori 算法的关联规则数据挖掘研究[J]. 统计与决策, 2012 (23): 19-21.

[5]       张书敏. 基于改进 Apriori 算法的研究及在电信业中的应用[J]. 信息与电脑 (理论版), 2013, 8: 066.

[6]       朱添福, 舒红平, 朱冬梅. 改进 Apriori 算法在制造业中的应用[J]. 2010 国际信息技术与应用论坛论文集, 2010.

[7]       姚舜. 关联规则算法在图书自动推荐系统中的应用[J]. 四川图书馆学报, 2013 (6): 55-58.

[8]       元文娟, 晏杰. 关联规则挖掘在超市中的应用研究[J]. 吉林师范大学学报: 自然科学版, 2013, 34(2): 138-141.

[9]       杜海涛, 陈定方, 张波. 一种基于关联规则的超市购物篮分析方法[J]. 湖北工业大学学报, 2008, 23(2): 53-55.

[10]   宋钰. 基于关联规则算法的超市数据挖掘方法分析[J]. 福建电脑, 2009 (7): 94-94.

[11]   黄宏本, 卢雪燕. 关联规则挖掘在超市销售系统中的应用及实现[J]. 梧州学院学报, 2011, 21(3): 59-63.

[12]   唐敏. 关联规则挖掘算法在超市销售分析中的应用[J]. 计算机科学, 2006, 33(2): 149-150.

[13]   杨海廷. 改进Apriori 算法挖掘技术在图书流通中的实证研究 [J][J]. 图书馆杂志, 2012, 1: 015.

[14]   Quinlan.J.R. C4.5 Programs for Machine Learning[M]. San Mateo:Morgan Kaufman Publishers, Inc, 1993.

[15]   Mering, Margaret. RDA: a practical approach. MLNCRDA workshop, Apr. 2011.

[16]   Schiff, Adam L. Changes from AACR2 to RDA. Part 1: description. An ALCTS Webinar, Feb. 2, 2011.

[17]   桂海霞, 孟祥瑞. 一种基于 Apriori 的高效关联规则挖掘算法的研究[J]. 安徽理工大学学报: 自然科学版, 2009 (4): 55-58.

[18]   张兴会.数据仓库与数据挖掘技术[M].北京:清平大学出版社,2011.

[19]   潘珩.关联规则挖掘在汽车营销决策中的应用研究[J].成都信息工枵学院学报,2004,19(4):1-4.

[20]   朱明.数据挖掘[M].第2版,合肥:中国科学技术大学山版社,2008.

05d59958bfbd0dc6357bea6257f6ebe1.jpeg

本文中分析的数据分享到会员群,扫描下面二维码即可加群!

bc5796e0c866f471d76c85610f01f245.png

ec6b500b3c7034ad69f185641c5e0956.jpeg

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言改进关联规则挖掘Apriori在超市销售数据可视化》。

23da63246b000d5e234163b4f4f494ea.jpeg

c1ab433b389b9cfedbfe6045a30e2c7d.png

点击标题查阅往期内容

R语言APRIORI关联规则、K-MEANS均值聚类分析中药专利复方治疗用药规律网络可视化

非线性混合效应 NLME模型对抗哮喘药物茶碱动力学研究

Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化

R语言用关联规则和聚类模型挖掘处方数据探索药物配伍中的规律

用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析

PYTHON在线零售数据关联规则挖掘APRIORI算法数据可视化

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

R语言关联挖掘实例(购物篮分析)

python关联规则学习:FP-Growth算法对药品进行“菜篮子”分析

基于R的FP树fp growth 关联数据挖掘技术在煤矿隐患管理

python关联规则学习:FP-Growth算法对药品进行“菜篮子”分析

通过Python中的Apriori算法进行关联规则挖掘

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

R语言用关联规则和聚类模型挖掘处方数据探索药物配伍中的规律

在R语言中轻松创建关联网络

python主题建模可视化LDA和T-SNE交互式可视化

R语言时间序列数据指数平滑法分析交互式动态可视化

用R语言制作交互式图表和地图

如何用r语言制作交互可视化报告图表

K-means和层次聚类分析癌细胞系微阵列数据和树状图可视化比较

KMEANS均值聚类和层次聚类:亚洲国家地区生活幸福质量异同可视化分析和选择最佳聚类数

PYTHON实现谱聚类算法和改变聚类簇数结果可视化比较

有限混合模型聚类FMM、广义线性回归模型GLM混合应用分析威士忌市场和研究专利申请数据

R语言多维数据层次聚类散点图矩阵、配对图、平行坐标图、树状图可视化城市宏观经济指标数据

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化

Python Monte Carlo K-Means聚类实战研究

R语言k-Shape时间序列聚类方法对股票价格时间序列聚类

R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归

R语言谱聚类、K-MEANS聚类分析非线性环状数据比较

R语言实现k-means聚类优化的分层抽样(Stratified Sampling)分析各市镇的人口

R语言聚类有效性:确定最优聚类数分析IRIS鸢尾花数据和可视化

Python、R对小说进行文本挖掘和层次聚类可视化分析案例

R语言k-means聚类、层次聚类、主成分(PCA)降维及可视化分析鸢尾花iris数据集

R语言有限混合模型(FMM,finite mixture model)EM算法聚类分析间歇泉喷发时间

R语言用温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化

R语言k-Shape时间序列聚类方法对股票价格时间序列聚类

R语言中的SOM(自组织映射神经网络)对NBA球员聚类分析

R语言复杂网络分析:聚类(社区检测)和可视化

R语言中的划分聚类模型

基于模型的聚类和R语言中的高斯混合模型

r语言聚类分析:k-means和层次聚类

SAS用K-Means 聚类最优k值的选取和分析

用R语言进行网站评论文本挖掘聚类

基于LDA主题模型聚类的商品评论文本挖掘

R语言鸢尾花iris数据集的层次聚类分析

R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归

R语言聚类算法的应用实例

f142ca7db724c0661327501ac532accd.png

c4dd165a94bf336cac6990990f4342ce.jpeg

7a2513f9ac157558fd75ad6916004348.png

这篇关于R语言改进关联规则挖掘Apriori在超市销售数据可视化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810059

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X