R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视化|附代码数据
全文链接:http://tecdat.cn/?p=30360
最近我们被客户要求撰写关于网络购物用户行为的研究报告,包括一些图形和统计输出。
随着网络的迅速发展,依托于网络的购物作为一种新型的消费方式,在全国乃至全球范围内飞速发展
电子商务成为越来越多消费者购物的重要途径。我们被客户要求撰写关于网络购物行为的研究报告。
项目计划使用数据挖掘的方法,以京东商城网购用户的网络购物数据为基础,对网络购物行为的三个要素:行为过程、行为结果、行为主体进行分析。
(1)使用关联规则分析方法分析网络购物用户的行为过程,分别探析信誉度、搜索排名对网购用户购买决策的影响程度;
(2)使用聚类分析方法,对网购用户的行为结果进行讨论,发现不同网购群体的网购习惯和特征;
(3)使用分类/预测分析方法,对网购行为主体进行研究。本项目还将引用其它研究的数据及观点对本数据分析所得结论进行比较验证。
本项目的结论为以京东商城为代表的网购平台运营商、商家提供网站管理、网店运营方面的参考,为商家制定网络营销策略提供决策支持。
关联规则挖掘
data1[,i]=as.factor(data1[,i])##将每个变量转成因子形式
}
inspect(frequentsets[1:10])#查看频繁项集
从上面的表 可以看到部分频繁出现的一些选项规则,抽取的10个频繁项集的支持度在0.3左右。
然后查看支持度最高的前10个规则
可以看到支持度最高的前十个选项集合(称为频繁项集)的支持度在0.9左右,因此在下面使用apriori模型对数据进行分析时,选取最小支持度为0.9左右,以便发现合适数量的规则。
set of 47 rules
rule length distribution (lhs + rhs):sizes
1 2 3
11 24 12
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 2.000 2.000 2.021 2.500 3.000
summary of quality measures:
support confidence lift
Min. :0.9000 Min. :0.9000 Min. :0.9977
1st Qu.:0.9050 1st Qu.:0.9400 1st Qu.:1.0000
Median :0.9150 Median :0.9585 Median :1.0043
Mean :0.9191 Mean :0.9572 Mean :1.0043
3rd Qu.:0.9300 3rd Qu.:0.9846 3rd Qu.:1.0083
Max. :0.9850 Max. :0.9945 Max. :1.0141
mining info:
data ntransactions support confidence
trans 200 0.9 0.3
我们得到规则的概述,可以看到他们的支持度在0.9到0.98之间,置信度也非常高,说明这些规则具有较高的的可预测度(Predictability)。因此从这些规则可以得到比较可靠的推断结论。置信度太低的规则在实际应用中也不会有多大用处。
从规则中剔除掉其他选项的规则后,我们得到以上的规则,从以上规则,我们可以看出网购用户大多通过论坛或者社区的弹窗信息进入网购的页面,他们在论坛中看到了某些用户的评论,并且通过弹窗信息进入购买,而他们选择网购的原因也是因为评论真实性,看到了其他网购的用户经验从而影响他们的购买决策。
对规则进行可视化
plot(rules, method="grouped")
上图表示支持度和置信度的二维散点图,从上图来看,规则的置信度和支持度较高,大部分规则位于左上方,说明规则大多有较高的置信度,具有较好的可信性。
上图表示规则前项和规则后项的联系,图中的点越大表示规则的支持度越高,可以看到规则中社区论坛进入购买页面和选择网购原因是评论真实之间有较高的支持度。
上图是一个规则的网络图表示,箭头表示规则之间的递推关系。从上图我们也可以直观地看到我们得到的规则。
点击标题查阅往期内容
左右滑动查看更多
01
02
03
04
d=dist(data2)#对数据的样本求欧几里得距离
hmod=hclust(d)#使用欧几里得距离对样本进行层次聚类
从树状图的结果来看,使用高度为60左右对树状图进行横截,所有样本大致可以分成4类。
cent <- rbind(cent, colMeans(data2[memb == k, , drop = FALSE]))#筛选出第4层次以上的样本
}
hc1 <- hclust(dist(cent)^2, method = "cen", members = table(memb))#重新对新样本进行层次聚类
opar <- par(mfrow = c(1, 2))
上图是对树重新进行层次聚类的结果与原来树的对比,从左边 我们可以i看到,树具有4个分支,因此可以认为样本大致可以聚成4类。
kmeans聚类
fitted(kc); #查看具体聚类情况
#聚类结果可视化
plot(data2[,c(1:20)], col = kc$cluster); #不同的颜色代表不同的聚类结果。
上图表示不同问题选项之间样本的聚类情况,不同的颜色代表不同的样本,可以看到不同颜色的类别分别聚到了不同的类中,因此类别之间的区分效果良好。
可以看到红色类用户的Q2,Q7,Q11得分较高Q4得分较低,Q21得分较高,蓝色用户Q10Q23的得分较高,黑色用户的得分分布比较普遍,在每个问题中不同选项均有分布。绿色用户Q2,Q19得分较低,Q10的得分较高。
可以看到红色用户大多是年龄较大,4线城市的用户,接触网购不多,因此也不会使用手机电脑网络等方式进入网购页面。蓝色用户代表接触网购时间较长的用户,他们进入网络页面的方式大多是搜索引擎,他们大多熟悉网购操作,对自己需要的商品也比较熟悉,然而一般对网购不进行评论,除非对商品非常满意。绿色是年龄较小的用户,但是他们接触网络的时间也较长,大多是青少年,因此接触新兴事物的兴趣较大,因此他们的网购花费较低,但是网购的频率较高。
决策树
将Q30_总体而言,您对网购是否满意?的答案作为网购用户分类的分类目标属性,使用其他属性作为分类属性,对数据进行分类
draw.tree(CARTmodel)
## 交叉验证的估计误差(“xerror”列),以及标准误差(“xstd”列),平均相对误差=xerror±xstd
printcp(CARTmodel)
> CARTmodel$cptable[which.min(CARTmodel$cptable[,"xerror"]),"CP"]
[1] 0.04938272
根据最小误差的最小变异系数来对树进行剪枝。
得到剪枝后的决策树。
从决策树图来看 ,我们可以发现问题的选项作为决策树的分支,分别将年龄,网购历史,网站购物主要看重的因素,喜欢的促销方式和网购花费作为决策条件,将样本分成了8个类别。
并使用决策树进行对样本的预测。
> table(pre,data2$Q30)#混淆矩阵
pre 3 4 5 6
3 20 9 2 0
4 9 74 9 1
5 6 13 34 0
6 0 0 0 0
从混淆矩阵的结果来看,对4个类别的预测效果较好,说明模型的拟合效果良好。
点击文末 “阅读原文”
获取全文完整代码数据资料。
本文选自《R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视化》。
点击标题查阅往期内容
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
数据分享|Python用Apriori算法关联规则分析亚马逊购买书籍关联推荐客户和网络图可视化
【视频】关联规则模型、Apriori算法及R语言挖掘商店交易数据与交互可视化|数据分享
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语言制作交互可视化报告图表
R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视化|附代码数据的更多相关文章
- R语言实现关联规则与推荐算法(学习笔记)
R语言实现关联规则 笔者前言:以前在网上遇到很多很好的关联规则的案例,最近看到一个更好的,于是便学习一下,写个学习笔记. 1 1 0 0 2 1 1 0 0 3 1 1 0 1 4 0 0 0 0 5 ...
- python调用R语言,关联规则可视化
首先当然要配置r语言环境变量什么的 D:\R-3.5.1\bin\x64; D:\R-3.5.1\bin\x64\R.dll;D:\R-3.5.1;D:\ProgramData\Anaconda3\L ...
- R语言学习——根据信息熵建决策树KD3
R语言代码 决策树的构建 rm(list=ls()) setwd("C:/Users/Administrator/Desktop/R语言与数据挖掘作业/实验3-决策树分类") #s ...
- R语言入门视频笔记--10--数据挖掘
这里来挖掘超市购物车数据. 名词: 1.挖掘数据集:购物篮数据 2.挖掘目标:关联规则 3.关联规则:牛奶=>鸡蛋[支持度=2%,置信度=60%] 4.指出度:分析中的全部事务的2%同时购买了牛 ...
- 零基础数据分析与挖掘R语言实战课程(R语言)
随着大数据在各行业的落地生根和蓬勃发展,能从数据中挖金子的数据分析人员越来越宝贝,于是很多的程序员都想转行到数据分析, 挖掘技术哪家强?当然是R语言了,R语言的火热程度,从TIOBE上编程语言排名情况 ...
- R语言 关联规则
在用R语言做关联规则分析之前,我们先了解下关联规则的相关定义和解释. 关联规则的用途是从数据背后发现事物之间可能存在的关联或者联系,是无监督的机器学习方法,用于知识发现,而非预测. 关联规则挖掘过程主 ...
- R语言 一套内容 从入门 到放弃
[怪毛匠子整理] 1.下载 wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.0.1.tar.gz 2.解压: tar -zxvf R-3.0. ...
- 一步步教你轻松学K-means聚类算法
一步步教你轻松学K-means聚类算法(白宁超 2018年9月13日09:10:33) 导读:k-均值算法(英文:k-means clustering),属于比较常用的算法之一,文本首先介绍聚类的理 ...
- 大数据时代的精准数据挖掘——使用R语言
老师简介: Gino老师,即将步入不惑之年,早年获得名校数学与应用数学专业学士和统计学专业硕士,有海外学习和工作的经历,近二十年来一直进行着数据分析的理论和实践,数学.统计和计算机功底强悍. 曾在某一 ...
- R语言——实验5-聚类分析
针对课件中的例子自己实现k-means算法 调用R语言自带kmeans()对给定数据集表示的文档进行聚类. 给定数据集: a) 数据代表的是文本信息. b) 第一行代表词 ...
随机推荐
- Spring AOP 报错:Error creating bean with name 'student' defined in file
问题概述 Spring AOP 报错,一直显示:Error creating bean with name 'student' defined in file 的报错.从五个方向排查:第一,aspec ...
- 添加material ui库
ng add @angular/material 自定义预构建主题 ? Choose a prebuilt theme name, or "custom" for a custom ...
- elasticsearch 安装与配置
一.JAVA 与 elasticsearch 的版本对应 个人实测能够对应起来的版本: elasticsearch-rtf-2.2.1 需要 JDK7 或更低的版本,推荐使用 7 elasticsea ...
- 基于TDSQL-C对OOM问题进行优化
OOM是实例使用内存超过实例规格内存上限导致进程被kill,实例存在秒级的不可用.MySQL的内存管理比较复杂,内存监控需要开启performance schema查询(默认关闭),会带来额外的内存消 ...
- Docker中安装Gitlab详细全教程
安装Docker: note: https://docs.docker.com/engine/install/centos/ 1 yum install -y yum-utils 2 yum-conf ...
- [后端-Flask总结]-flask学习总结
1.flask开发基础与入门: 1.1web开发基础 1.1.1 前端框架: bootstrap, j-query, angular, react 1.2 flask 路由 from flask im ...
- SpringMVC学习笔记【狂神说】
1.MVC是什么 MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务逻辑.数据.显示分离的方法来组织代码. MVC主要作用是降低了视图与 ...
- java 导入Excel数据校验判断哪行那列
记录工作 需求是导入数据的时候需要判断哪一行是空行,或者哪一行超过限制字符,然后返回给前端做展示 @PostMapping("/importExcel") @ApiOperatio ...
- Centos 7.9 部署Kubernetes集群 (基于containerd 运行时)
前言 当Kubernetes社区宣布1.20版本之后会逐步弃用 dockershim ,当时也有很多自媒体在宣 传Kubernetes弃用Docker.其实,我觉得这是一种误导,也许仅仅是为了蹭热度. ...
- io流转换为Multipart文件
io流转换为Multipart文件 个人的话是运用到了minio文件服务器保存文件,前端(vue)异步上传文件后,由于要提升用户体验效果,先上传文件到后台服务器,返回视频在文件服务器的link()参数 ...