R语言用RFM、决策树模型顾客购书行为的数据预测

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

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

团队需要分析一个来自在线零售商的数据。该数据集包含了78周的购买历史。该数据文件中的每条记录包括四个字段。
客户的ID(从1到2357不等),交易日期,购买的书籍数量,以及价值。
我们被要求建立一个模型来预测消费者每周的购买频率、书籍的购买单位和购买价值。

R语言用RFM、决策树模型顾客购书行为的数据预测_第1张图片

RFM模型

RFM是一个用于营销分析的模型,它通过购买模式或习惯来细分公司的消费者群体。特别是,它评估了客户的回顾性(他们多久前进行过一次购买)、频率(他们购买的频率)和价值(他们花多少钱)。

然后,通过测量和分析消费习惯,RFM被用来识别一个公司或组织的最佳客户,以改善低分客户并保持高分客户。

关键要点

经常性、频率、价值(RFM)是一种营销分析工具,用于根据客户消费习惯的性质来确定公司的最佳客户。
一个RFM分析通过对客户和顾客的三个类别进行打分来评估他们:他们最近有多大的购买行为,他们购买的频率,以及他们购买的规模。
RFM模型为这三个类别中的每一个客户打出1-5分(从最差到最好)的分数。
RFM分析帮助企业合理地预测哪些客户有可能再次购买他们的产品,有多少收入来自于新客户(相对于老客户),以及如何将偶尔购买的买家变成习惯购买的买家。


####计算用户最近一次的购买


R_table$R <- as.numeric(NOW - ParsedDate)

###计算用户的购买频率
aggregate(FUN=length) # Calculate F

###计算用户的购买金额
aggregate(FUN=sum) # Calculate M

![]()

R语言用RFM、决策树模型顾客购书行为的数据预测_第2张图片

得到每个用户的RFM值,利用RFM三个值的四分位数来对用户进行分类

R语言用RFM、决策树模型顾客购书行为的数据预测_第3张图片

多元线性回归模型

查看回归模型结果

R语言用RFM、决策树模型顾客购书行为的数据预测_第4张图片

得到对r值的线性拟合模型的结果,可以看到RFM三个分类值都与r值有显著的关系,Rsquare值达到了0.8以上,说明拟合效果较好。

R语言用RFM、决策树模型顾客购书行为的数据预测_第5张图片

得到对r值的线性拟合模型的结果,可以看到RFM三个分类值都与f值有显著的关系,Rsquare值达到早0.4左右,说明拟合效果一般。

R语言用RFM、决策树模型顾客购书行为的数据预测_第6张图片

得到对r值的线性拟合模型的结果,可以看到出了M分类值以外,FM的分类值都与f值有显著的关系,Rsquare值达到了0.4左右,说明拟合效果一般。

对测试集做预测

线性回归模型预测值和拟合值比较

R语言用RFM、决策树模型顾客购书行为的数据预测_第7张图片

预测拟合值的图中,红点表示实际样本点,可以看到F和M值的预测相对接近实际样本点,预测效果较好。然而,误差仍然比较大,因此尝试采用决策树模型进行预测。

决策树模型预测

ct <- rpart.control(xval=10, minsplit=20, cp=0.1)

绘制决策树

rpart.plot(fitR, branch=1, branch.type=2, type=1, 



           border.col="blue", split.col="red",

R语言用RFM、决策树模型顾客购书行为的数据预测_第8张图片

R语言用RFM、决策树模型顾客购书行为的数据预测_第9张图片
![]()

从结果图来看,决策树对f值和m值的拟合程度更好。

R语言用RFM、决策树模型顾客购书行为的数据预测_第10张图片

R语言用RFM、决策树模型顾客购书行为的数据预测_第11张图片

R语言用RFM、决策树模型顾客购书行为的数据预测_第12张图片

从三个模型的结果里来看,rel error和xerror都较小,因此模型预测拟合效果较好。

因此,模型的整体效果相对线性模型得到了提升。



最受欢迎的见解

1.PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯模型和KMEANS聚类用户画像

2.R语言基于树的方法:决策树,随机森林

3.python中使用scikit-learn和pandas决策树

4.机器学习:在SAS中运行随机森林数据分析报告

5.R语言用随机森林和文本挖掘提高航空公司客户满意度

6.机器学习助推快时尚精准销售时间序列

7.用机器学习识别不断变化的股市状况——隐马尔可夫模型的应用

8.python机器学习:推荐系统实现(以矩阵分解来协同过滤)

9.python中用pytorch机器学习分类预测银行客户流失

你可能感兴趣的:(数据挖掘深度学习人工智能算法)