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

随着大数据时代的来临,数据挖掘和分析在商业决策中扮演着越来越重要的角色。

商店的顾客消费行为数据是商业决策的关键信息之一,通过对这些数据的深入分析,可以更好地理解顾客的消费习惯和偏好,从而优化商品销售策略,提高销售业绩。

由Kaizong Ye,Liao Bao撰写

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

× 决策树演算法依据其演算原理以及可适用分析数据类型的不同延伸出多种决策树演算法。在 IBM SPSS Modeler 中,主要提供了四种常用的决策树演算法供使用者选择,分别为:C5.0、CHAID、QUEST 以及 C&R Tree 四种。使用者可依据数据类型以及分析需求的不同,选择适当的决策树演算法进行分析。虽然不同的决策树演算法有各自适用的数据类型以及演算架构等差异,但概括来说,决策树的主要原理均为通过演算法所定义的规则,对数据进行分类,以建立决策树。鉴于篇幅所限,以下部分将会针对这四类决策树演算法进行简单的介绍和比较,而详细演算法原理将不会在本文中详述。 1. C5.0 由 C4.5 演化而来。此演算法的分类原理主要是利用资讯衡量标准 (Information Measure) 来构建决策树,并对每一个节点产生不同数目的分支来分割数据,直到数据无法分割为止。C5.0 的目标字段 (Target) 测量级别,不适用于连续类型 (Continuous) 的测量级别。而输入字段的数据型态则适用连续类型 (Continuous) 的测量级别。 2. CHAID (Chi-Square Automatic Interaction Detector) 此演算法和前述的 C5.0 概念很像,均可以在每一个节点产生不同数目的分支来分割数据,用来建立决策树。但是在背后分类的原理则利用卡方分析检定 (Chi-square F test) 来进行分支,通过卡方检定来计算节点中的 P-value,来决定数据是否仍须进行分支。另外,CHAID 的目标字段 (Target) 的测量级别可适用于连续类型 (Continuous) 的测量级别,但在输入字段则只适用分类类型 (Categorical) 的测量级别。 3. QUEST (Quick Unbiased Efficient Statistical Tree) 此演算法是利用统计方法分割数据,即以判定决策树是否仍需进行分支,以建立二元的决策树。QUEST 在变数的数据型态限制上,跟 C5.0 一样,目标字段 (Target) 测量级别,不适用于连续类型 (Continuous) 的测量级别。但在输入字段的测量级别则适用连续类型 (Continuous) 的测量级别。 4. C&R Tree (Classification and Regression Tree) 又称为 CART,构建决策树的原理是使用 Gini Ratio 作为判定决策树是否仍须进行分支的依据,并建立二元的决策树。此演算法不管是在目标变数 (Target) 以及输入字段的测量级别均适用连续类型 (Continuous) 的测量级别做分析。 决策树演算法的选择 在使用决策树演算法进行分析之前,首要工作就是选择适当的演算法。一般来说,会根据所要分析数据的特性以及数据型态等选择初步的演算法。接下来再通过比较初步筛选的决策树分析出来的结果,选择最适合的决策树演算法。

本文首先介绍了数据概览的过程,包括使用SPSS Modeler软件导入数据、数据审核等步骤。

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

数据概览

原始数据:

image.png

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

image.png

视频

从决策树到随机森林:R语言信用卡违约分析信贷数据实例

探索见解

去bilibili观看

探索更多视频


视频

决策树模型原理和R语言预测心脏病实例

探索见解

去bilibili观看

探索更多视频

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

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

image.png
image.png

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

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

image.png

QQ截图20220530175957.png

R语言软件对房屋价格预测:回归、LASSO、决策树、随机森林、GBM、神经网络和SVM可视化

阅读文章


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

image.png


随时关注您喜欢的主题


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

image.png

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

image.png

方法和模型结果

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

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

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

数据分区

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

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

CHAID 节点设定

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

生成决策树模型

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

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

image.png

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

image.png

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

微信活码:20231208-1755.png

分析结果

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

image.png

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

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

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

image.png


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds