首页 > 其他分享 >R语言改进关联规则挖掘Apriori在超市销售数据可视化

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

时间:2023-08-03 22:37:25浏览次数:46  
标签:Apriori 关联 算法 可视化 购买 规则 挖掘 超市

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

原文出处:拓端数据部落公众号

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

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

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

关联规则

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

简介

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

应用

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

Apriori算法

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

数据如图所示:

image.png

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

image.png

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

1 commodity mining association rules Apriori algorithm flow graph


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

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

image.png

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

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

   

inspect(rules.sorted)

image.png

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

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

   
plot(rules, methodft")

image.png

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

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

image.png

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

image.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):

   
改进算法CRApriori

CRApriori=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条规则如下所示:

image.png

image.png

image.png

image.png

剪贴板图片 (2).jpg

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

总结

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

a monthly update on the state of the us consumer- june 2023_1145586415_standard_1536x1536.webp

参考文献

[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.

标签:Apriori,关联,算法,可视化,购买,规则,挖掘,超市
From: https://www.cnblogs.com/tecdat/p/17604636.html

相关文章

  • Python 优化第一步: 性能分析实践 使用cporfile+gprof2dot可视化
    拿来主义:python-mcProfile-oprofile.pstatsto_profile.pygprof2dot-fpstatsprofile.pstats|dot-Tpng-oclick.png然后顺着浅色线条优化就OK了。 windows下:google下graphviz-2.38.msi,然后安装。dot命令需要。gitclone https://github.com/jrfonseca/gprof2dot.git......
  • Git可视化工具——Gitkraken安装过程指南
    目录1、软件下载2、屏蔽自动更新2.1、host文件屏蔽更新2.1、删除更新程序3、启动应用1、软件下载Gitkraken最后一个免费版本为:6.5.1。后续的新版本本地私有库打开都为收费功能。可用的下载链接:平台文件名下载链接win-x86GitKrakenSetup-6.5.1-x86.exe下载win-x......
  • QuickBI提供数据可视化分析功能的工具,企业免费使用
    数字化转型的快速推进促使国内企业积极寻求数字化升级。在这个过程中,企业的创新和发展模式不断变化,尤其是对于数据驱动的智能决策系统的重要性越来越凸显。商业智能(BI)工具市场正在不断发展壮大,作为一种创新的数据分析和决策支持工具,它能够帮助企业从大量信息中提取和利用,为企业提供......
  • [数据分析与可视化] Python绘制数据地图4-MovingPandas入门指北
    MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库,用于处理移动物体的轨迹数据。它提供了一组强大的工具,可以轻松地加载、分析和可视化移动物体的轨迹。通过使用MovingPandas,用户可以轻松地处理和分析移动对象数据,并从中提取有关行为、模式和趋势的见解。无论是处......
  • 瓴羊QuickBI为企业提供定制化的可视化设计,满足个性化需求。
    在目前的阶段,大数据技术已经成为企业缩小与竞争对手之间差距的重要手段。许多企业选择使用瓴羊QuickBI等工具来处理和分析内部数据,以保持持续的竞争优势。在过去,国内企业更倾向于使用进口的BI工具,但随着国内数据处理工具(如瓴羊QuickBI)的兴起,特别是可视化大屏设计的全面提升,更符合国......
  • 可视化分析30天免费,瓴羊Quick BI助力企业转型
    在现代化的社会经济背景下,数字化转型正在以前所未有的速度加速,这在很大程度上推动了国内企业积极求取数字化升级的态势。在这个过程中,企业的创新和发展模式也正在不断地改变,尤其是针对数据驱动的智能决策系统,其重要性日益突出。商业BI工具市场以其活跃的态势蓬勃发展。它作为一种创......
  • 【视频】R语言用线性回归预测共享单车的需求和可视化|数据分享
    全文链接:https://tecdat.cn/?p=33350原文出处:拓端数据部落公众号分析师:ShuliWang自行车共享系统是新一代的传统自行车租赁,从会员,租赁到归还的整个过程已经自动化。通过这些系统,用户可以轻松地从特定位置租用自行车,然后在另一个位置返回。目前,全球约有500多个自行车共享计划,其......
  • LogonTracer:用于可视化分析Windows安全事件日志寻找恶意登录的工具
    LogonTracer:用于可视化分析Windows安全事件日志寻找恶意登录的工具 secist2018-05-3010:00:303802482简介LogonTracer是一款用于可视化分析Windows安全事件日志寻找恶意登录的工具。它会将登录相关事件中找到的主机名(或IP地址)和帐户名称关联起来,并将其以图形化的方式展现出......
  • 百度数据可视化Sugar BI简单体验
    前言很多单位都有实际上看似“一切尽在掌握”的大屏,例如IDC机房客户接待室或者在NOC室部署的weathermap,其实我觉得这东西没什么太大的必要性,反而在逐步强调数据安全的时候,为安全撕开了一道缺口,访客没准就能获取到很多本身权限无法访问的信息。当然,逼格满满的东西,自然要闲着折腾一套......
  • 可视化流程表单设计器:提效90%,轻松实现流程化管理!
    如果想要提升表格制作效率,提升办公流程化发展效率,可以了解可视化流程表单设计器。在竞争越来越激烈的当下,低代码技术平台获得了快速发展,为广大企业实现数字化发展贡献了巨大力量。要想达到提质增效的办公目的,低代码技术平台流程信息可助您一臂之力。在低代码技术平台这一领域,流辰......