SPSS Modeler决策树分类模型分析商店顾客消费商品数据

科技   科技   2025-01-16 22:25   浙江  

全文链接:https://tecdat.cn/?p=34926


随着大数据时代的来临,数据挖掘和分析在商业决策中扮演着越来越重要的角色。商店的顾客消费行为数据是商业决策的关键信息之一,通过对这些数据的深入分析,可以更好地理解顾客的消费习惯和偏好,从而优化商品销售策略,提高销售业绩点击文末“阅读原文”获取完整代码数据

相关视频


本文将使用SPSS Modeler软件,帮助客户通过决策树分类模型对商店顾客消费商品数据进行深入分析,探讨顾客消费行为的特征和规律,以期为商店的经营提供有价值的参考。

本文首先介绍了数据概览的过程,包括使用SPSS Modeler软件导入数据、数据审核等步骤。接着,文章探讨了决策树算法在数据挖掘中的应用,并介绍了常用的决策树演算法及其适用场景。然后,文章介绍了数据分区的方法,以评估模型准确度。在数据准备完成后,文章建立了一个CHAID决策树分类模型,并详细介绍了模型的设定和生成过程。最后,文章分析了决策树模型的结果,揭示了对顾客每次平均消费金额影响最大的变量是购物数量和商品的打折力度。同时,文章也指出了其他重要变量如商品id、购物日期、商店名称和消费者信息等的影响。

数据概览

原始数据:

首先我们打开 Modeler,新建 Stream,拖入一个“可变文件”节点到工作区。双击节点。选择示例数据文件作为输入。然后我们点击“可变文件”节点的预览按钮。

利用“数据审核”节点审核数据

“数据审核”节点可以提供给我们很多有用的信息,其中就包括数据缺失值信息。下边,我们就将“数据审核”节点加入到我们的 stream 中来,连接“可变文件”节点和“数据审核”节点,运行 Stream,我们可以得到下图

从上图中我们可以看到很多有用的信息,数据的分布图形,数据的类型,统计值等,在这里我们要关注的是最后一列有效数据,可以发现有七个缺失值 ,这说明 “数据审核”节点已经成功的帮我们识别出了这列缺失值。同时我们可以发现有效数据仍然是 801.

同时我们可以对数据中的离群点和异常点进行丢弃的操作.

然后我们需要对顾客每次的平均消费进行一个离散化.具体的离散化分割点,如下表所示

在对数据进行离散化之后,我们可以得到新的消费数据如下:

以及它的分布情况包括最大值最小值均值,偏度和峰度

方法和模型结果

决策树演算法是在进行数据挖掘时经常使用的分类和预测方法。

一个决策树的架构,是由三个部分所组成:叶节点 (Leaf Node)、决策节点 (Decision nodes) 以及分支 。决策树演算法的基本原理为:通过演算法中所规定的分类条件对于整体数据进行分类,产生一个决策节点,并持续依照演算法规则分类,直到数据无法再分类为止。

决策树演算法依据其演算原理以及可适用分析数据类型的不同延伸出多种决策树演算法。在 IBM SPSS Modeler 中,主要提供了四种常用的决策树演算法供使用者选择,分别为:C5.0、CHAID、QUEST 以及 C&R Tree 四种。

数据分区

为了在训练出模型后能够分析模型准确度,在此我们将加入字段选项下的「分区」节点,将数据分为 70%训练数据以及 30%测试数据。在分区节点的编辑页中,点选预览可发现每笔数据已经多出了一个栏位「分区」,栏位中的值被随机归类为「1_训练」及「2_测试」,让决策树节点可判别是否要使用此资料做为训练数据。在完成资料分区后,我们已经完成数据准备 ,可以套用决策树模型节点了。

考量到数据特性以及我们希望提供的决策树具有多元分类法,因此我们将建立 chaid分类模型。

CHAID 节点设定

将 CHAID 节点与分区节点连接后,我们将于此节点编辑页面中的模型标签下设定相关的变数。由于 CHAID 节点设定较多,以下将挑选我们有修改预设值的变数进行详细介绍。此定义来自“SPSS Modeler  Modeling Nodes 文件”。


点击标题查阅往期内容


R语言航班延误影响预测分析:lasso、决策树、朴素贝叶斯、QDA、LDA、缺失值处理、k折交叉验证


左右滑动查看更多


01

02

03

04



生成决策树模型

决策树节点设定完成后,点击主工具列的运行当前流前即可看到两个决策树模型的产生。

双击决策树模型则可看到模型结果,而我们最主要要观察的是模型标签及查看器标签下的内容。模型标签内容如图所示,左栏位使用文字树状展开,表现每一阶层的分类状况及目标变数的模式;右栏位则是整体模型预测变量的重要性比较。我们也将会根据变量重要性调整模型设定、变数选择,持续的训练出较佳的模型。查看器标签则是将一样的决策树结果用树状图的方式展现。

从上面的图中,我们可以看到决策树模型得到的预测变量,重要性,从这个图中我们可以看到,对顾客每次平均消费金额影响最大的是购物数量, 如果消费者每次购物的物品数量越多,那么他的平均消费金额会越大。其次是商品的打折力度,如果说,商品的打折力度越强,那么顾客的消费金额就越多,也就是说,商品的打折力度会刺激消费者的消费行为。然后是商品的id,因为不同的商品具有不同的价格,可以判断有些物品的价格如果越高,那么顾客的平均消费金额就会越多。其次是,购物日期商店名称以及消费者本人的信息。

从上面的图中,我们可以看到决策树模型的预测变量重要程度,形容对顾客消费金额影响最大的变量是顾客的收入,可能收入越高,每次消费金额就越大.其次是顾客的年龄,顾客的年龄越小,则平均的消费金额越大,说明年轻消费者的消费能力更强.然后是消费者的家庭情况,如果消费者有一个孩子,或者已经不是单身,那么他们的平均消费金额更大,因为他们的家庭支出会更多.但是消费者的婚姻状况,如果消费者不是单身,那么他们的消费金额会更加大.其次是消费者的居住情况,如果消费者是租房子,那么它的一部分支出会消费在房子的租金上,因此他的消费金额会较低.最后是家庭人数,我家庭人数越多,那么消费者的消费金额越多,因为他们的家庭开支更多,每次在购物消费的金额也就越多.

分析结果

在前面的串流产生中,我们加入了分区节点将数据分成训练数据与测试数据,因此在决策树模型产生后,可加入分析节点 。分析节点中我们勾选重合矩阵选项,因此除了分析节点原本就提供的正确错误率比较,可进一步了解实际值与预测值的比较矩阵 。

从上面的决策树误差结果来看,可以看到不同的分区上决策树模型的最小误差是相似的,而最大误差在测试机上更小,同时可以看到决策树模型的平均误差非常的小,可以认为该模型是一个较好的模型,具有较好的预测性和准确度。

因此从上面的结果来看,我们可以认为,决策树模型可以较好的拟合这个数据集,可以对未知的数据进行良好的预测。从业务的角度,我们可以对商店的销售提出一些建议:例如对一些商品进行打折而提高用客户的消费金额,另外由于消费者对一些商品的消费金额较大,因此可以调整摆放的位置,并且配合打折的信息从而提高消费者的消费金额。同时,由于不同的商品和不同的消费者的消费金额不同,因此我们可以针对消费金额较大的用户制定特定的营销策略,例如会员制度、定期发送销售海报邮件等等。

最后我们得到以下结果文件:



本文中分析的数据、代码分享到会员群,扫描下面二维码即可加群! 


点击文末“阅读原文”

获取全文完整代码数据资料


本文选自《SPSS Modeler决策树分类模型分析商店顾客消费商品数据》。




点击标题查阅往期内容

Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
R使用LASSO回归预测股票收益
广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证
贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据
R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据(含练习题)
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
R语言Bootstrap的岭回归和自适应LASSO回归可视化
R语言Lasso回归模型变量选择和糖尿病发展预测模型
R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析
基于R语言实现LASSO回归分析
R语言用LASSO,adaptive LASSO预测通货膨胀时间序列
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
Python中的Lasso回归之最小角算法LARS
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
R语言实现LASSO回归——自己编写LASSO回归算法
R使用LASSO回归预测股票收益
python使用LASSO回归预测股票收益
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
R语言Bootstrap的岭回归和自适应LASSO回归可视化
R语言Lasso回归模型变量选择和糖尿病发展预测模型
R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析
基于R语言实现LASSO回归分析
R语言用LASSO,adaptive LASSO预测通货膨胀时间序列
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
Python中的Lasso回归之最小角算法LARS
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
R语言实现LASSO回归——自己编写LASSO回归算法
R使用LASSO回归预测股票收益
python使用LASSO回归预测股票收益


拓端数据部落
拓端(tecdat.cn)创立于2016年,提供专业的数据分析与挖掘服务,致力于充分挖掘数据价值。
 最新文章