R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视化

简介: 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")

上图表示支持度和置信度的二维散点图,从上图来看,规则的置信度和支持度较高,大部分规则位于左上方,说明规则大多有较高的置信度,具有较好的可信性。

上图表示规则前项和规则后项的联系,图中的点越大表示规则的支持度越高,可以看到规则中社区论坛进入购买页面和选择网购原因是评论真实之间有较高的支持度。

上图是一个规则的网络图表示,箭头表示规则之间的递推关系。从上图我们也可以直观地看到我们得到的规则。


点击标题查阅往期内容


实现LDA主题模型分析网购满意度数据


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个类别的预测效果较好,说明模型的拟合效果良好。

相关文章
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
1月前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
75 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
5月前
|
存储 数据采集 数据处理
R语言数据变换:使用tidyr包进行高效数据整形的探索
【8月更文挑战第29天】`tidyr`包为R语言的数据整形提供了强大的工具。通过`pivot_longer()`、`pivot_wider()`、`separate()`和`unite()`等函数,我们可以轻松地将数据从一种格式转换为另一种格式,以满足不同的分析需求。掌握这些函数的使用,将大大提高我们处理和分析数据的效率。
|
2月前
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
104 4
|
2月前
|
数据可视化 算法 安全
员工上网行为管理软件:S - PLUS 在网络统计分析中的应用
在数字化办公环境中,S-PLUS 员工上网行为管理软件通过精准的数据收集、深入的流量分析和直观的可视化呈现,有效帮助企业管理员工上网行为,保障网络安全和提高运营效率。
42 1
|
4月前
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
【9月更文挑战第9天】在R语言中,利用`ggplot2`包可绘制多系列柱状图与直方图。首先读取数据文件`data.csv`,加载`ggplot2`包后,使用`ggplot`函数指定轴与填充颜色,并通过`geom_bar`或`geom_histogram`绘图。参数如`stat`, `position`, `alpha`等可根据需要调整,实现不同系列的图表展示。
|
4月前
|
机器学习/深度学习 人工智能 算法
首个像人类一样思考的网络!Nature子刊:AI模拟人类感知决策
【9月更文挑战第8天】近日,《自然》子刊发表的一篇关于RTNet神经网络的论文引起广泛关注。RTNet能模拟人类感知决策思维,其表现与人类相近,在反应时间和准确率上表现出色。这项研究证明了神经网络可模拟人类思维方式,为人工智能发展带来新启示。尽管存在争议,如是否真正理解人类思维机制以及潜在的伦理问题,但RTNet为人工智能技术突破及理解人类思维机制提供了新途径。论文详细内容见《自然》官网。
94 3
|
4月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
5月前
|
数据采集 机器学习/深度学习 数据挖掘
R语言数据清洗:高效处理缺失值与重复数据的策略
【8月更文挑战第29天】处理缺失值和重复数据是数据清洗中的基础而重要的步骤。在R语言中,我们拥有多种工具和方法来有效地应对这些问题。通过识别、删除或插补缺失值,以及删除重复数据,我们可以提高数据集的质量和可靠性,为后续的数据分析和建模工作打下坚实的基础。 需要注意的是,处理缺失值和重复数据时,我们应根据实际情况和数据特性选择合适的方法,并在处理过程中保持谨慎,以避免引入新的偏差或错误。
|
5月前
|
数据处理
R语言数据合并:掌握`merge`与`dplyr`中`join`的巧妙技巧
【8月更文挑战第29天】如果你已经在使用`dplyr`进行数据处理,那么推荐使用`dplyr::join`进行数据合并,因为它与`dplyr`的其他函数(如`filter()`、`select()`、`mutate()`等)无缝集成,能够提供更加流畅和一致的数据处理体验。如果你的代码中尚未使用`dplyr`,但想要尝试,那么`dplyr::join`将是一个很好的起点。

热门文章

最新文章