全文链接:
最近我们被客户要求撰写关于Apriori关联规则的研究报告,包括一些图形和统计输出。
随着大数据时代的来临,如何从海量的存储数据中发现有价值的信息或知识帮助用户更好决策是一项非常艰巨的任务 ( 点击文末“阅读原文”获取完整代码数据******** )。
数据挖掘正是为了满足此种需求而迅速发展起来的,它是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在的有用信息和知识的过程。由于大数据技术的发展,零售企业可以利用互联网收集大量的销售数据,这些数据是一条条的购买事务信息,每条信息存储了销售事务的处理时间,顾客所购买的商品、各种商品的数量以及价格等。如果对这些历史数据进行分析,则可以对理解分析顾客的购买行为提供有价值的信息。
数据建模
数据来源
本次分析的数据来自电商网站交易数据文件 ( 查看文末了解数据免费获取方式 ) 。
指标选取
本次分析一共选取了17个指标600个样本,分别是:ID号、平均购物额度、购物总次数、交易成功次数、信用等级、购物积分。
指标介绍
(1)ID号:购网网站上的网购客户ID ;
(2)平均购物额度:网购客户平均的网购服务的金额;
(3)购物总次数:网购客户的每个月购物次数;
(4)交易成功次数:网购客户的交易成功次数;
(5)信用等级:网购客户的购物信用等级;
(6)购物积分:网购客户购物的积分;
(7)Pincome:个人年收入(万元)
(8)Hincome:家庭年收入(万元)
(9)Age:年龄
(10)Gender:性别(0:女;1:男)
(11)Car:家庭拥有汽车的数量
(12)Education:教育水平(1:初中及以下;2:高中;3:专科;4:本科;5:研究生)
(13)Job:工作类型(1:公司职员;2:工厂工人;3:公务员;4:个体;5:事业单位;6:其他)
(14)People:家里人口数量
(15)Children:家里未成年人数量
(16)Housing:房屋拥有类型(0:租房;1:买房)
(17)Area:房屋居住面积(平方米)
数据审核
由上表,可得:本次分析的数据都是有效的,不存在缺失值。
点击标题查阅往期内容
R语言APRIORI关联规则、K-MEANS均值聚类分析中药专利复方治疗用药规律网络可视化
左右滑动查看更多
01
02
03
04
描述性统计量
由上表,可得:月服务、年龄、居住时间、收入、工作时间、家庭人数、长途距离、免费通信这8个变量的均值分别为:35.526、41.684、11.551、77.535、10.987、2.331、11.723、13.274,可以看出这8个连续性变量不存在量纲上的差异,因此在后面的分析中,不需要进行标准化处理。同时,这8个变量之间存在较强的线性相关性,说明变量之间存在严重的多重共线性,可以考虑对变量进行降维后在进行分析。
数据归一化
在进行分类之前,为消除量纲的差别,首先对属性进行归一化处理。
Weka数据挖掘流程
数据挖掘一般是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程,是一种决策支持过程。它实现的过程大致可分为:问题定义、数据收集和预处理、数据挖掘、算法执行,以及结果的分析和评估。
(1)问题定义
数据挖掘的目的是从海里数据中挖掘有效信息,帮助用户更好决策。因此,在数据挖掘之前需定义明确的挖掘目标,明确数据挖掘目的。
(2)数据收集和数据预处理
数据准备又可分为三个子步骤:数据收集、数据预处理和数据变换。数据收集是指收集所有与挖掘业务对象相关的外部和内部数据,从获取的原始数据中,选择出需要挖掘的信息数据,建立挖掘原始数据库。在建立的挖掘原始数据库中,其数据可能是不完全的、有噪声的、随机的、复杂的,数据预处理数据就要对数据进行过滤,清洗掉不完全的、有噪声的数据,为下一步的分析工作做准备。数据转换是指格式化数据,并将其加载到适合分析的存储环境中,形成最终的挖掘数据库。
(3)数据挖掘
算法执行阶段主要根据对问题的定义明确挖掘的任务或目的,数据挖掘是指选择合适的挖掘算法,对转换过的数据库进行有效挖掘,此阶段选好挖掘算法是关键。
(4)结果分析和评估
数据挖掘阶段发现的模式,经过评估,可能存在冗余或无关的模式,这时需要剔除;模式也有可能不满足用户要求,这时则需要整个发现过程回退到前一个阶段,如重新选取数据、采用新的数据变换方法、设定新的参数值,甚至换一种算法等。
模型的实际应用
研究数据说明
本文数据来源于平台后台数据库中历史交易信息,包括网购相关信息以及网购用户信息等。
经过数据筛选梳理,最终研究的样本包括999条网购列表。其中,248审核未通过的有条;209条是网购放弃;542条成功网购,169条已还完网购。成功交易总额达3090.93万元。
网购用户关联规则算法分析设计
本文分别用Apriori算法对数据进行处理挖掘,具体结果如下所示。
(1)Apriori算法
虽然 Apriori 算法可以直接挖掘生成表中的交易数据集,但是为了关联挖掘其他算法的需要先把交易数据集转换成分析数据集,构建的数据流程图如图 1 所示。
图 1 商品关联规则 Apriori 算法挖掘流图
关联规则模型Apriori模型参数设置
通过格式转换, 设最低条件支持度为15%,最小规则置信度为30%,最大前项数为5,选择专家模式,挖掘出最有价值的10条关联规则,如图所示。生成的10条规则如下所示:
1. 交易成功次数=1 469 == 购物总次数=1 465 conf:(0.99) lift:(1.06) lev:(0.05) [27] conv:(6.25)
2. 交易成功次数=1 房屋状况=1 423 == 购物总次数=1 419 conf:(0.99) lift:(1.06) lev:(0.04) [24] conv:(5.64)
3. 是否有小孩=1 房屋状况=1 365 == 购物总次数=1 345 conf:(0.95) lift:(1.01) lev:(0.01) [4] conv:(1.16)
4. 是否有小孩=1 397 == 购物总次数=1 375 conf:(0.94) lift:(1.01) lev:(0.01) [4] conv:(1.15)
5. 房屋状况=1 545 == 购物总次数=1 508 conf:(0.93) lift:(1) lev:(0) [0] conv:(0.96)
6. 购物总次数=1 是否有小孩=1 375 == 房屋状况=1 345 conf:(0.92) lift:(1.01) lev:(0.01) [4] conv:(1.11)
7. 是否有小孩=1 397 == 房屋状况=1 365 conf:(0.92) lift:(1.01) lev:(0.01) [4] conv:(1.1)
8. 购物总次数=1 560 == 房屋状况=1 508 conf:(0.91) lift:(1) lev:(0) [0] conv:(0.97)
9. 交易成功次数=1 469 == 房屋状况=1 423 conf:(0.9) lift:(0.99) lev:(-0.01) [-3] conv:(0.91)
10. 购物总次数=1 交易成功次数=1 465 == 房屋状况=1 419 conf:(0.9) lift:(0.99) lev:(-0.01) [-3] conv:(0.91)
分析及建议: 通过结果可以清晰的看到交易次数较多的顾客购物成功次数比较多,另外是否有小孩、是否有房屋对顾客是否购物成功次数也有关联,建议网站可以加大对这些用户的推荐购买力度,由上述结果可知,同时购物且成功的用户占总用户的的90%,有房屋的用户成功购物分别占总订单数的91%,有小孩的人有91%会网购, 房屋面积越大,网购次数越高,由此可见,房屋、网购、是否有小孩、网购成功次数这几个变量关联度较高,可以对这些用户进行广告策略投放,从而增加用户网购的成功率。
Associator Model
Apriori
Minimum support: 0.55 (330 instances)
Minimum metric confidence: 0.9
Number of cycles performed: 9
Generated sets of large itemsets:
Size of set of large itemsets L(1): 4
Size of set of large itemsets L(2): 5
Size of set of large itemsets L(3): 2
结论与展望
数据挖掘中的关联规则侧重于不同对象之间的联系,本文讨论了关联规则挖掘在用户网购策略中的应用。利用WEKA软件,通过实例分析了频繁项集及关联规则生成的过程,采用Apriori算法对数据分别进行了解析挖掘,针对挖掘结果提出了相应的建议,对电商网站的发展有着到重要的现实的意义。
数据获取
在公众号后台回复“网购数据”,可免费获取完整数据。
本文中分析的数据和完整文档分享到会员群,扫描下面二维码即可加群!
点击文末 “阅读原文”
获取全文完整代码数据资料。
本文选自《数据分享|Weka数据挖掘Apriori关联规则算法分析用户网购数据》。
点击标题查阅往期内容
SQL SERVER ANALYSIS SERVICES决策树、聚类、关联规则挖掘分析电商购物网站的用户行为数据
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
R语言集成模型:提升树boosting、随机森林、约束最小二乘法加权平均模型融合分析时间序列数据
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
R语言基于树的方法:决策树,随机森林,Bagging,增强树
R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测
spss modeler用决策树神经网络预测ST的股票
R语言中使用线性模型、回归决策树自动组合特征因子水平
R语言中自编基尼系数的CART回归决策树的实现
R语言用rle,svm和rpart决策树进行时间序列预测
python在Scikit-learn中用决策树和随机森林预测NBA获胜者
python中使用scikit-learn和pandas决策树进行iris鸢尾花数据分类建模和交叉验证
R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析
R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类
R语言ISLR工资数据进行多项式回归和样条回归分析
R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型
R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
如何用R语言在机器学习中建立集成模型?
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测在python 深度学习Keras中计算神经网络集成模型R语言ARIMA集成模型预测时间序列分析R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者
R语言基于树的方法:决策树,随机森林,Bagging,增强树
R语言基于Bootstrap的线性回归预测置信区间估计方法
R语言使用bootstrap和增量法计算广义线性模型(GLM)预测置信区间
R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线
matlab使用分位数随机森林(QRF)回归树检测异常值