数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例

简介: 数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例

全文链接:http://tecdat.cn/?p=27606


作为数据挖掘的一个重要研究方向—关联规则用于发现数据项之间隐含的深层次的关联,如Apriori模型可以通过对客户需求进行深入的分析来发现数据之间的潜在联系,为我们提供自动决策支持。


Apriori模型


关联规则是数据挖掘算法中主要技术之一,是在无指导学习系统中挖掘本地模式的最普便形式。在数据挖掘中,常见的关联规则挖掘模型有AIS、SETM、Apriori、DHP、MLT2L1、ML-TML1等。其中,Apriori算法是一种最有影响的挖掘关联规则频繁项集的模型。


Apriori模型原理


Apriori算法通过多次扫描事务数据库来产生频繁项目集,我们称这种方法为逐层搜索迭代法。具体地说,该算法的基本思想是通过对数据库的多次扫描来发现所有的频繁项集。首先第1遍扫描事务数据库生成频繁1项集,记为L1;然后基于L1第2遍扫描事务数据库生成频繁2项集,记为L2;依此迭代,基于L(k-1)第k遍扫描事务数据库生成频繁k项集,记为Lk。在后续的扫描中,首先以前一次所发现的所有频繁项集为基础,生成所有新的候选项集(Candidate Item sets),然后扫描数据库,计算这些候选项集的支持度,最后确定候选项集中哪些可成为频繁项集。重复上述过程直到再也产生不出新的频繁项集。

由此可见,Apriori算法是一种通过多次扫描事务数据库统计不同项的发生次数,以此来抽取频繁模式的过程。由于Apriori算法需要大量扫描事务数据库,因此利用Apriori算法的相关性质对其进行搜索空间压缩。

Apriori算法的性质如下:频繁项集中的所有非空子集也是频繁的。该属性可以通过如下方式证明:若A是非频繁的,那么集合A∪B也是非频繁的,即构成集合的子集是非频繁的,则该集合也是非频繁项集。Apriori算法的这一属性为反单调性,在实际挖掘过程中,如果一个集合不能通过测试,那么它的所有超集也都不能通过相同的测试。基于此,我们通过“连接”操作由现有频繁项集构造超集,通过“剪枝”操作过滤掉不能通过测试的超集,从而压缩下一次迭代的系统开销。

点击标题查阅往期内容


数据分享|Python用Apriori算法关联规则分析亚马逊购买书籍关联推荐客户和网络图可视化


01

02

03

04


仿真


实验平台及数据


为了验证Apriori模型在DSS数据挖掘中应用的可行性,本文在Spss Modeler软件平台上对Apriori模型进行仿真。实验数据为某超市的DSS系统中的顾客及购买商品数据查看文末了解数据获取方式。数据包括1000条购买事务记录,每条购买事务记录中包含两大部分内容:第一部分是顾客的个人信息,主要变量有会员卡号、消费金额、支付方式、性别、年龄、收入等;第二部分是顾客一次购买商品的信息,主要变量有果蔬、鲜肉、奶制品等,均为二分类型变量,取值T表示购买,F表示未购买,下表为部分顾客购买数据。本文结合Apriori模型分析DSS中的顾客信息及购买数据分析哪些商品最有可能同时购买。

实验结果及分析


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

(1)Apriori算法

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

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

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

Rule1: milk→yoghurt,supprot =15.235%,confidence =52.165%;

Rule2: milk→biscuits,supprot =20.474%,confidence =51.531%;

Rule3: milk→coffee,supprot =15.027%,confidence =49.878%;

Rule4: milk→brioches,supprot =15.319%,confidence =49.675%;

Rule5: milk→water,supprot =27.851%,confidence =46.704%;

Rule6: milk→pasta,supprot =35.034%,confidence =45.855%;

Rule7: pasta→coffee,supprot =15.027%,confidence =39.891%;

Rule8: pasta→brioches,supprot =15.319%,confidence =38.834%;

Rule9: pasta→biscuits,supprot =20.474%,confidence =37.917%;

Rule10: pasta→milk,supprot =46.132%,confidence =34.824%;

Rule11: pasta→yoghurt,supprot =15.235%,confidence =34.649%;

Rule12: pasta→water,supprot =27.851%,confidence =34.296%;

Rule13: water→pasta, milk,supprot =16.065%,confidence =33.288%;

Rule14: biscuits→brioches,supprot =15.319%,confidence =30.795%;

Rule15: water→coffee,supprot =15.027%,confidence =30.047%;

通过Spss Modeler使用Apriori模型对某超市DSS数据的分析,实验结果如表所示,实验产生了三条置信度和支持度最高的关联规则:分别为啤酒和罐头蔬菜→冷冻食品(S=14.6%,C=87.4%);啤酒和冷冻食品→罐头蔬菜(S=14.6%,C=85.9%);冷冻食品和罐头蔬菜→啤酒(S=14.6%,C=84.4%)。同时,三条关联规则的提升值都可以接受。因此,啤酒、罐头蔬菜、冷冻食品是最可能连带销售的商品。因此,在实际销售或者在商品的摆放过程中,可以将这些商品进行捆绑销售。

同时,本实验结果的商品销售关系网状图如图所示,表明了顾客可能同时购买的所有商品之间的联系,其中网状图中的不同点分别代表着不同的商品,点与点之间的连线代表着同时被顾客购买的联系。通过设定商品同时出售的频数的阈值,可以得到一些顾客同时购买机率较大的商品。可以看到,网状图的结论与Apriori模型挖掘的关联规则结论是一致的。

然后,本文对不同性别、年龄的顾客购买的商品之间的销售关系进行了Apriori模型的关联规则挖掘。实验结果如表所示,其中性别与购买商品的联系如图所示,(a)为不同性别顾客可能同时购买的所有商品之间的联系,其中网状图上方的两个点F、M分别代表着男性顾客与女性顾客,网状图下方的点分别代表不同的商品,点与点之间的连线代表着购买关系。通过设定商品同时出售的频数的阈值,可以得到不同性别的顾客同时购买的概率比较大的商品(b)。由图可知,男性最有可能同时购买饮料、牛奶、罐头蔬菜、甜食、冷冻熟食、果熟等商品,而女性则最有可能同时购买饮料、甜食、牛奶、罐头蔬菜等,因此,商家在推销其商品时可以针对不同性别的顾客制定不同的营销策略。

分析及建议: 通过图可以清晰的看到购买牛奶、意大利面、水、咖啡的顾客比较多,建议超市可以加大对这些商品的采购,由上述结果可知,同时购买牛奶、意大利面的情况占总订单数的46.132%,水和牛奶或意大利面和水分别占总订单数的27.851%,购买牛奶的人有45.855%会购买意大利面,46.704%的人会购买水,购买意大利面的人有34.824%会购买牛奶,有34.296%的人会购买水,由此可见,意大利面、水、牛奶这三种商品关联度较高,可以将意大利面、水、牛奶摆放在一块,从而增加销量。此外,在符合支持度和置信度的条件下没有顾客购买冷冻食、果汁等,建议有关人员减少这几种商品的进货量,但为了保持商品的多样性,还是要适当地进货。

Carma算法


该实验数据仍采用上述数据,商品种类涵盖意大利面、牛奶、水、面包饼干、咖啡、奶油蛋糕、酸奶、冷藏蔬菜、金枪鱼、啤酒、番茄酱、可乐、大米、果汁、咸饼干、油、冰冻鱼、冰淇淋、奶酪、罐装肉,如果顾客购买了该商品,则记为T,如果没有购买该商品,则记为F。将Carma节点最小支持度设为7.0%,最小置信度设为15.0%,大小规则为5,Carma算法数据流如图所示,由其生成的商品关联规则所示。生成16条规则如下所示:

Rule1: milk→yoghurt,supprot =15.235%,confidence =52.165%;

Rule2: milk→biscuits,supprot =20.475%,confidence =51.531%;

Rule3: milk→coffee,supprot =15.027%,confidence =49.878%;

Rule4: milk→brioches,supprot =15.319%,confidence =49.675%;

Rule5: milk→water,supprot =27.851%,confidence =46.704%;

Rule6: milk→pasta,supprot =35.035%,confidence =45.855%;

Rule7: pasta→biscuits,supprot =20.475%,confidence =37.917%;

Rule8: pasta→milk,supprot =46.133%,confidence =34.824%;

Rule9: pasta→water,supprot =27.851%,confidence =34.296%;

Rule10: water→milk,supprot =46.133%,confidence =28.196%;

Rule11: water→pasta,supprot =35.035%,confidence =27.264%;

Rule12: biscuits→milk,supprot =46.133%,confidence =22.871%;

Rule13: biscuits→pasta,supprot =35.035%,confidence =22.159%;

Rule14: yoghurt→milk,supprot =46.133%,confidence =17.277%;

Rule15: brioches→milk,supprot =46.133%,confidence =16.496%;

Rule16: coffee→milk,supprot =46.133%,confidence =16.247%;


分析及建议: 通过上述规则可以清晰的看到顾客同时购买牛奶、意大利面、水、饼干的比较多,建议超市可以将这些商品放在同一货架上进行销售。Carma算法所得结果相比Apriori算法略有不同,它比Apriori算法更加精准。商家可以多进牛奶、意大利面、水、酸奶、奶油蛋糕、饼干等商品,而对于冰冻食品,则可以减少进货量。


结束语


数据挖掘所得到的信息资源无论是对于企业的管理人员还是员工来说都是十分有价值的,它使企业能够充分利用现有的信息资源,在激烈的社会竞争中取得区别于其他企业的独特优势。本文使用关联规则算法中的Apriori模型对企业DSS数据进行关联规则挖掘,首先详细说明了Apriori模型的具体原理和实施步骤,然后,通过实例研究和对实验结果的分析,进一步明确了数据挖掘技术在以客户为中心的电子商务时代扮演着越来越重要的角色,随着数据挖掘理论的进一步发展和深化,必然会带给DSS更为广泛的应用前景和市场价值,同时提高企业的竞争力。


参考文献


  1. Gorry G A, Scott Morton M S. A Framework for Management Information Systems[J]. Sloan Management Review, 1971, 13(1): 50-70.

  2. Agrawal.R, T.Imieliński, A Swami. Mining association rules between sets ofitems in large databases[C]. ACM SIGMOD Record,1993,22(2):207-216.

  3. V.P.Singh. Consumer Behavior and Firm Strategies in a Changing Retail Environment[D]. Northwestern University, 2003:63-100.

  4. J.Jim. Consumer Heterogeneity in the Long-term Effects of Price Promotions[D]. University of California Irvine, 2004:5-21.

  5. Lee jin A, Han Jonggyu, Chi Kwang Hoon. Mining quantitative association rule of earthquake data[C]. ACM International Conference Proceeding Series.2009:349-352.

  6. 李虹, 蔡之华. 关联规则在医疗数据分析中的应用[J]. 微机发展,2003,13(6):94-97.

  7. 杨引霞, 谢康林, 朱扬勇, 等. 电子商务网站推荐系统中关联规则推荐模型的实现[J]. 计算机工程,2004,30(19):57-59.

  8. 胡晓青, 王波. 基于数据挖掘的金融时序频繁模式的快速发现[J]. 上海理工大学学报,2006,28(4):381-385.

  9. 宋钰, 何小利, 张刚园. 关联规则在医药云数据定向中的应用与仿真[J]. 计算机仿真,2013,30(2),239-242.

  10. 王和勇, 蓝金炯. 微群核心用户挖掘的关联规则方法的应用[J].图书情报工作,2014,58(2):115-120.

  11. R N Anthony. Planning and Control Systems: A Framework for Analysis [D]. MA, USA: Graduate School of Business Administration, Harvard University Cambridge, 1965.

  12. H A Simon. The New Science of Management Decision [M]. New York, USA: Harper Brothers, 1960.

  13. Spague R H. A Framework for the Development of Decision Support Systems [J]. MIS Quarterly (S0276-7783), 1980, 12: 1-26.

  14. Bonczek R H,C W Holsapple, A B Whinston. Foundations of Decision Support Systems [M]. New York, USA: Academic Press, 1981.

  15. 吉根林, 帅克, 孙志挥. 数据挖掘技术及其应用[J]. 南京师大学报(自然科学版), 2000, 23(2): 25-27.

  16. 杨炳儒. 知识工程与知识发现[M]. 北京:冶金工业出版社, 2000.

  17. 王安麟. 复杂系统的分析与建模[M]. 上海:上海交通大学出版社,2004.

  18. 李小兵, 吴锦林, 薛永生等. 关联规则挖掘算法的改进与优化研究[J]. 现代电子技术,2005,(4).

  19. Jiawei Han, Micheline Kamber. 数据挖掘概念与技术[M]. 北京:机械工业出版社,2001,152~161.

  20. Savasere A, Ong B, Mitbander B. An efficient algorithm for mining association rules in large databa ses[A]. Proc 1995,Int Conf Very Large Databases(VLDB’95)[C].1995.

  21. 陈江平, 傅仲良, 徐志红. 一种Apriori的改进算法[J]. 武汉大学学报(信息科学版),2003,28(1),94-99.


相关文章
|
4天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
18 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
4天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
20 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
15天前
|
机器学习/深度学习 人工智能 算法
青否数字人声音克隆算法升级,16个超真实直播声音模型免费送!
青否数字人的声音克隆算法全面升级,能够完美克隆真人的音调、语速、情感和呼吸。提供16种超真实的直播声音模型,支持3大AI直播类型和6大核心AIGC技术,60秒快速开播,助力商家轻松赚钱。AI讲品、互动和售卖功能强大,支持多平台直播,确保每场直播话术不重复,智能互动和真实感十足。新手小白也能轻松上手,有效规避违规风险。
|
16天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
20天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
65 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
2月前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
108 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
1月前
|
机器学习/深度学习 数据采集 算法
如何在一夜之间成为模型微调大师?——从零开始的深度学习修炼之旅,让你的算法功力飙升!
【10月更文挑战第5天】在机器学习领域,预训练模型具有强大的泛化能力,但直接使用可能效果不佳,尤其在特定任务上。此时,模型微调显得尤为重要。本文通过图像分类任务,详细介绍如何利用PyTorch对ResNet-50模型进行微调,包括环境搭建、数据预处理、模型加载与训练等步骤,并提供完整Python代码。通过调整超参数和采用早停策略等技巧,可进一步优化模型性能。适合初学者快速上手模型微调。
91 8
|
1月前
|
机器学习/深度学习 算法 搜索推荐
django调用矩阵分解推荐算法模型做推荐系统
django调用矩阵分解推荐算法模型做推荐系统
26 4
|
1月前
|
算法 定位技术
数据结构与算法学习九:学习递归。递归的经典实例:打印问题、阶乘问题、递归-迷宫问题、八皇后问题
本文详细介绍了递归的概念、重要规则、形式,并展示了递归在解决打印问题、阶乘问题、迷宫问题和八皇后问题等经典实例中的应用。
38 0
|
2月前
|
算法
基于SIR模型的疫情发展趋势预测算法matlab仿真
该程序基于SIR模型预测疫情发展趋势,通过MATLAB 2022a版实现病例增长拟合分析,比较疫情防控力度。使用SIR微分方程模型拟合疫情发展过程,优化参数并求解微分方程组以预测易感者(S)、感染者(I)和移除者(R)的数量变化。![]该模型将总人群分为S、I、R三部分,通过解析或数值求解微分方程组预测疫情趋势。