SPSS 数据挖掘方法概述——关联、决策树
本实验是基于关联和决策树在数据挖掘中的应用。通过该实验,能够客观实际地理解关联分析和决策树的相关知识。
首先进行的是关联分析,之后利用关联分析的数据建立一个决策树。
2、建立决策树
在该部分的试验中,需要将注意力转移到顾客身上,即分析哪些顾客是“健康食品购买者”——同时购买 fruitveg 和 fish。
(1) 如何标志健康食品购买者。点击“字段选项”选项卡下的“导出”增加一个属性
(Healthy)来标识健康食品购买者。编辑“导出”节点,将字段类型设为“标志”,并编辑
“fruitveg = ‘T‘ and fish=‘T‘”,该公式表示消费者同时购买 fruitveg 和 fish 这两种商品,如图
47。
图 47 “导出”节点编辑窗口
(2) 查看增加“Healthy”之后的数据表。利用“表”来查看数据表,如图 48,可以看到表中增加了一个“Healthy”字段,描述是否为健康食品购买者。
图 48 增加“Healthy”之后的数据表
(3) 接入一个“类型”节点。在这里,需要重新编辑字段的角色,如图 49 所示。其中与用户相关的信息字段(除 cardid 外)角色都设定为“输入”,而“Healthy”变为“输出”,其他的选择“无”。
图 49 “类型”节点编辑窗口
(4) 接入 C5.0 决策树模型。双击“建模”选项卡下的“C5.0”模型,既可以完成添加。如图 50。
图 50 工作区中的“C5.0”模型
(5) 运行决策树模型。分别运行“决策树”和“规则集”两种形式,查看两者得到的结果分别如图 51 和图 52 所示。两者都分别有不同的表示方式。图中显示哪些类型的顾客是健康食品购买者。
图 51 用决策树形式查看决策树模型运行结果
图 52 用规则集形式查看决策树模型运行结果
(6) 其他属性的功能,如图 53。“组符号”是指当有多个字段在同一个分支时,将这几个字段放在一组;“使用 boosting”是指使用部分数据作为再次生成决策树,最后综合这些决策树来提高决策树的精度;“交互验证”是指一部分数据用来生成决策树,一部分作为测试;“简单”是指生成决策树的准确度,但是精确度高的决策树的移植性不高;“专家”下的“修剪严重性”是指修剪的程度。
图 53 其他属性功能
(7) 分析 “修剪严重性”条件为 0 时的结果。在图 54 中可以看出,决策树有 8 层(“修剪严重性”为 75%的有 2 层)。由此可以得出结论,“修剪”对精度具有重要的影响。
图 54 “修剪严重性”条件为 0 时的结果(8)将决策树模型加入数据流。首先选择“字段选项”下的“类型”节点,然后分别双击右上侧的“tree”和“no-cut”(已重命名),在这之后,分别添加“分析”节点作为输出,得到如图 55 的数据流。
图 55 工作区中的“分析”节点
(9) 分析“修剪严重性”为 75%的正确性。运行“tree”下“分析”节点,在图 56 中可以看出,决策树分支的正确率为 93.8%。
图 56 分析“修剪严重性”为 75%的正确性
(10) 分析“修剪严重性”为 0 的正确性。运行“no-cut”下“分析”节点后,得到图 57,图中显示决策树分支的正确率为 95.1%。由此表明这两者的正确率差别不是十分大,仅为 1.3%。但是,一般情况下,会选择简单的模型作为选择对象,即“修剪严重性”为 75% 的模型。
图 57 分析“修剪严重性”为 0 的正确性
(11) 决策树的另外一个选项——成本,如图 58 显示。此处的成本主要指决策树将 T 判为 F,而将 F 判为 T 的过程需要成本,同时这个成本一般并不相同,SPSS
Modeler 14.2 的这两个默认值都是 1。在这里,将 F 判为 T 的成本改为 0.3,将 T 判为 F 的成本改为 2.0,“修剪严重性”设定为 75%,运行该决策树模型,得到图 59,共有 8 层。接下来,将这与原来生成的“tree”模型(F 判为 T 的成本为 1.0,T 判为 F 的成本改为 1.0,“修剪严重性”为 75%)进行比较。
如 58 修改“决策树”模型的成本选项
图 59 “决策树”模型运行结果
(12) 添加“输出”选项卡下的“矩阵”节点。将这个模型添加到数据流中,并在此基础上分别添加“矩阵”节点,如图 60 所示。
图 60 工作区的“矩阵”节点(13)分别运行“矩阵”节点,并分析数据。在运行这两个节点之前,需要将这两个“矩阵”节点的“行”设为“Healthy”,“列”设为“$C-Healthy”。运行后分别得到图 61(左:
“tree”,右:“2-0.3cost”)的表格。可以看出,决策树总是朝着成本最低的趋势生成决策树。
图 61 “矩阵”节点运行后结果