本节我们主要介绍如何运用spss统计软件进行决策树分析,在spss statistics 中,只能选择ID3,CART及chaid 决策树,而在spss另一款专门用于机器学习建模的软件 spss modeler 中,我们可以建立C5.0决策树(C5.0算法的分类规则同C4.5,只是在执行效率和内存使用上有所改进,适用于大数据集)。

我们引用名为 DRUG1n 的数据文件,这是关于身患同一疾病的一组患者的数据。在治疗过程中,每位患者均对五种药物中的一种有明显反应。本案例是通过数据挖掘找出适用于今后患有此疾病的患者的药物。数据样本记录总共200条,拟按照训练集与测试集比例7:3划分,则约140个样本用于建模,70个样本用于测试模型的有消息。(为了防止过度拟合,在有监督机器学习中通常会对样本进行拆分,一般为7:3或4:3:3,在此我们使用7:3模式,实际数据分割时按随机种子的不同会有细微调整)

本次教程使用软件版本为 IBM SPSS Modeler18.0,鉴于平时使用spss modeler的同学相对较少,本篇将是多图小白教程,具体操作步骤如下:

一、数据导入

新建空白流,选择下方 “收藏夹”或“源”选项卡里面的“变量文件”节点,鼠标单击按住拖到空白处,然后,双击新添加的节点以打开其对话框。

图一 新建节点

单击紧挨“文件”框右边以省略号“...”标记的按钮,浏览到您系统中的 IBM® SPSS® Modeler 安装目录。打开 Demos 目录,然后选择名为 DRUG1n 的文件。

确保选中了从文件读取字段名称,注意已加载此对话框中的字段和值。

图二 导入文件

单击数据选项卡,覆盖和更改某个字段的存储。注意,存储不同于测量,即,数据字段的测量级别(或用途类型)。

图三 导入文件设置

二、数据审核

先单击变量文件,再双击下方输出选项卡中的“数据审核”,画布上会出现与变量文件连接的“数据审核”节点

图四 增加数据审核节点

双击数据审核节点,弹出窗口中点击“运行”

图五 数据审核

结果窗口包括对对各变量的描述性统计,以及对缺失值和离群点的审核

图六 描述性统计

图七 离群点审核

三、数据分区

本次数据无离群点,下一步便是分割训练集和测试集

先点击变量文件节点,再在下方“字段选项”卡双击分区,生成“分区”节点

图八 增加数据分区节点

双击画布中的分区节点,在弹出的窗口中设置训练集和测试集的比例,设置完成后点击“确定”完成数据分割

图九 数据分区

四、数据规整

双击下方“字段选项”选项卡中的“类型”,生成类型节点。

图十 添加类型节点

双击类型节点,弹出的窗口中“类型” 选项卡可帮助了解数据中的更多字段类型。还可以选择 读取值 来查看各个字段的实际值,而设置“角色”可以区分因变量与自变量,此处我们将将因变量的角色设置为“目标” 。

图十一 类型设置

五、决策树建模

终于到了正式建模阶段,双击下方建模选项卡中的C5.0,生成C5.0决策树建模节点

图十二 选择建模节点

双击C5.0建模节点在弹出窗口里可设置参数,如果要设置剪枝,选择专家模式,再进行相应参数设置,我们这里使用默认参数,参数完成后,点击下方“运行”

图十三 建模参数设置及执行

执行建模后,会生成具体的模型规则节点

图十四 规则节点

双击模型规则节点,出现的窗口中模型选项卡里是具体的规则和预测变量的重要性排序图

图十五 规则展示

规则一开始只显示第一层规则,单击规则前面的小+号可以查看具体细分规则

图十六 规则明细

点击“查看器”选项卡则可以看到具体的决策树图形

图十七 决策流程树图

六、模型评估

再双击下方“输出”选项卡中的“分析”,生成分析节点

图十八 分析节点

双击分析节点,在弹出窗口中自行选择分析指标,然后点击下方“运行”

图十九 分析参数

结果窗口里便是模型准确性的评估

图二十 评估结果视图

七、结果分析

表1、案例处理汇总

表一给出了数据集的划分情况,以及不同数据集中的预测准确率,可以看出无论训练集还是测试集预测准确率均在90%以上。

表2、预测变量重要性

通过表2可看出重要性最强的特征为K,其次是BP和Ag,Cholesterol重要性最差。

图二十 决策树具体分类树图

在图20中可看出具体决策流程和分类规则,重要性越强的特征处于越上游的分支节点。

在SPSSSS学堂主页,回复20190605即可获得原始数据哦~

spss预测变量重要性不可用_C4.5/5.0的SPSS操作相关推荐

  1. 应用预测建模第六章线性回归习题6.3【缺失值插补,分层抽样,预测变量重要性,重要预测变量如何影响响应变量,多元线性回归,稳健回归,偏最小二乘回归,岭回归,lasso回归,弹性网】

    模型:多元线性回归,稳健回归,偏最小二乘回归,岭回归,lasso回归,弹性网 语言:R语言 参考书:应用预测建模 Applied Predictive Modeling (2013) by Max K ...

  2. 衡量预测变量/自变量重要性

    注:预测变量=自变量:响应变量=因变量 一.响应变量为数值型,预测变量为数值型 1.1 Pearson相关系数 衡量线性关系 1.2 Spearman相关系数 变量之间近线性或者曲线相关 不适用于变量 ...

  3. 如何评估随机森林模型以及重要预测变量的显著性

    如何评估随机森林模型以及重要预测变量的显著性 说到随机森林(random forest,RF),想必很多同学都不陌生了,毕竟这些机器学习方法目前非常流(fàn)行(làn)--白鱼同学也曾分别分享过& ...

  4. R语言编写自定义函数、评估回归模型预测变量的相对重要性(Relative importance)、通过在所有可能的子模型中添加一个预测变量而获得的R方的平均增加、评估预测变量的重要度、并通过点图可视化

    R语言编写自定义函数.评估回归模型预测变量的相对重要性(Relative importance).通过在所有可能的子模型中添加一个预测变量而获得的R方的平均增加.来评估预测变量的重要程度.并通过点图可 ...

  5. python随机森林变量重要性_利用随机森林对特征重要性进行评估

    前言 随机森林是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,更令人惊奇的是它在分类和回归上表现出了十分惊人的性能,因此,随机森林也被誉为"代表集成学习技术水 ...

  6. python随机森林变量重要性_推荐 :一文读懂随机森林的解释和实现(附python代码)...

    原标题:推荐 :一文读懂随机森林的解释和实现(附python代码) 作者:WilliamKoehrsen:翻译:和中华:校对:李润嘉 本文约6000字,建议阅读15分钟. 本文从单棵决策树讲起,然后逐 ...

  7. python随机森林变量重要性_Python中随机森林的实现与解释

    使用像Scikit-Learn这样的库,现在很容易在Python中实现数百种机器学习算法.这很容易,我们通常不需要任何关于模型如何工作的潜在知识来使用它.虽然不需要了解所有细节,但了解机器学习模型是如 ...

  8. python随机森林变量重要性_python机器学习之随机森林(七)

    机器学习之随机森林,供大家参考,具体内容如下 1.Bootstraping(自助法) 名字来自成语"pull up by your own bootstraps",意思是依靠你自己 ...

  9. r语言electricity数据集_R语言多元逐步回归模型分析房价和葡萄酒价格:选择最合适的预测变量...

    包含更多的预测变量不是免费的:在系数估算的更多可变性,更难的解释以及可能包含高度依赖的预测变量方面要付出代价.确实,  对于样本大小 ,在线性模型中可以考虑 的预测变量最大数量为 p .或等效地,使用 ...

最新文章

  1. typeof和instanceof 运算符
  2. 相声演员侯耀文突发疾病去世享年59岁 深切怀念
  3. SCM-SVN集成服务器
  4. 前后端敏感数据加密方案及实现_02
  5. javaweb实训第六天下午——Mybatis基础
  6. bzoj2229: [Zjoi2011]最小割(最小割树)
  7. 字符串旋转 不同解法
  8. linux中posix共享内存,Linux 共享内存(POSIX)
  9. [WCF] Contract
  10. JAVA版村庄哨塔种子_我的世界:top16种子,出生5村庄、地狱堡垒、2哨塔和一堆遗迹...
  11. 线阵相机参数选择 照明方式
  12. 营收增速环比放缓 Okta高歌猛进的那股劲去哪了?
  13. 假装内卷,才是互联网人的骚操作
  14. 利用Python进行数据分析笔记-pandas建模(Patsy篇)
  15. 数字电路和模拟电路-1基础知识
  16. 电阻触摸屏和电容触摸屏的工作原理及优缺点
  17. c语言编写邮箱注册登录的程序,c语言实现邮箱地址验证
  18. 2021-07-09 MacBook M1 安装Android Studio
  19. 运动耳机性价比高,运动耳机品牌排行榜
  20. IAP15F2K61S2芯片引脚图

热门文章

  1. docker oracle创建实例_五分钟教你搭建oracle数据库环境
  2. CountDownLatch 的使用小例
  3. Pytorch view()、squeeze()、unsqueeze()、torch.max()
  4. pytorch nan问题
  5. Python实现多进程的4种方式
  6. python ffmpeg4 保存h264
  7. flask管理不同的路由
  8. Python操作ElasticSearch
  9. TensorFlow tf.nn.conv2d是怎样实现卷积的?
  10. 利用JFreeChart绘制股票K线图