京公网安备 11010802034615号
经营许可证编号:京B2-20210330
决策树(专家药物模型)操作案例
依据常用案例专家药物模型使用SmartMining桌面版,以决策树算法为背景,说明大数据如何构建专家诊病模型,以及如何通过可视化探索数据,实现决策树同样的计算结果!案例侧重于大数据思维的形成和可视化探索在数据挖掘中重要作用有所体验。专家预测模型工作流如下:
1)商业目标
业务理解:
该案例所用的数据是一份模拟医生诊病的数据,如下:
在处理一个陌生的业务时,一是直接从业务中学习,二是从数据中学习业务。从图中可以看出,其中,年龄、性别、血压、胆固醇、钠、钾是病人的指标,而药物是医生针对病人的情况开出的药物。
确定业务目标:建立专家诊病系统,当把病人的指标输入到该系统时,系统会自动输出该给此类病人开出的药物。核心关键就是将业务目标转化为数据挖掘目标。
数据挖掘目标:建立专家诊病模型,该模型以病人的病例指标为输入,以药物为目标,建立预测模型,该模型可以根据输入指标的值,计算预测值(药物)。
操作实现:
可以点击文件菜单下的“新建”开始创建工作流。点击后会弹出以下向导界面:
输入工作流的名字后即可完成创建:
此时要根据数据存储文件的格式选择相应的导入节点。在这里由于数据源是CSV文件,因此可以选择CSV导入节点(也可以使用可变文件)。左侧节点库中CSV导入节点拖到右侧的工作流中。双击节点或者右键菜单中选择“配置”,弹出如下配置窗口:
点击<浏览>按钮,选择相应的数据文件。
注意,根据数据表的数据结构进行配置,此数据如图配置即可。配置好之后点击<确认>。
节点下方的预警符号从变为黄色说明配置正确,黄色表示节点可以执行。红色表示节点尚未配置或者配置有误,此时节点不可执行。单击节点,点击右键菜单的或者点击工具栏的,即可执行工作流。执行完成后预警符号变成绿色。
点击右键菜单的文件表可以查询数据。
使用统计学习菜单下的数据审核可以对数据进行描述,这是建模之前必须要做的工作,一方面是为了设计合理的实施方案,另外一方面也是为了更好的选择合适的算法。
将数据审核节点与数据源节点连接,右键单击执行,执行结束之后,右键点击查看统计视图。结果如下图:
从中可以看出每种分类变量的取值及每种取值的个数。比如,从这里我们可以看出药物字段一共包含五种取值,且出现最多的是Y药物。在这里目标变量为分类型,因此只能选择分类预测类模型,如决策树、逻辑回归等。
接下来便是尝试建模,看看建模效果。
首先,从数据准备>列菜单下选择类型转换节点。由于性别、血压、胆固醇三个字段实际存储类型该是字符型,但这里是整型,因此为了便于以下分析,使用类型转换节点将它们的类型从整型转化为字符型。在数据挖掘过程汇总,一定要注意数据类型。配置如下:
其次,使用类型节点指定目标变量的角色,将药物的角色设为目标。
在进行模型构建的时候一定要确定字段的角色,给算法以明确的指示。
然后,选择分类预测节点,因为目标变量(药物)为分类型。此处我们重点学习决策树算法。节点连接如工作流所示,在决策树节点配置中选择目标变量药物。其中,决策树节点连接分区节点。决策树训练节点可以采用默认配置,无需修改配置,如下:
最后,使用评估节点评估模型的准确性,默认无需配置。评估结果:
从表3中可以看出,模型测试准确度为97.5%,误判2.5%。但是测试数据的错误率达到了15%。一般我们通过分区节点将数据分为训练数据和测试数据,这样做主要的目标是检测模型是否存在过度拟合,如果没有测试数据集,单独看模型的训练结果很好,但是这样的模型在实际中的适应性比较差。
恭喜你完成了一个简化的数据预建模过程。
从本模型看,预测的准确性比较高,,但是模型的应用结果不好,我们继续尝试,看是否还有优化的可能。
数据探索最核心的一项工作就是探索输入变量与目标变量(自变量与因变量)的相关性。分析变量的相关性可以使用相关性计算,也可以使用图形分析,而后者直观常用。分析两个分类型变量可以使用条形图、散点图或者直方图。分析两个数值型变量可以使用散点图。分析一个数值型变量和一个分类型变量可以使用直方图。分析两个字符型变量的关系可以使用条形图。
选择交互条形图进行字符串字段的可视化探索。(节点在可视化探索>交互视图>交互条形图)。分类字段选择目标字段药物,颜色标记选择字符型的字段。通过观察条形图,我们来看药物与几个字段间的相关性。
通过分析,血压和药物字段有着强相关性,因为从图中可以看出使用药物B和药物A的人都是高血压(3表示高血压,2表示正常,1表示低血压),使用药物C的人都是正常,这种很明细的规律反映出两个字段间存在很强的相关关系,如下图所示:
同理,胆固醇和选择药物之间也有一定相关性,而性别和选择药物相关性不大,如下图所示:
接下来分析数值型字段的相关性,此时我们使用条形图。从图中可以看出血液中的钠和钾相关性很弱或者没有。从图形化的方式判断相关性强弱的方法就是看图形中的规律,规律越明显,相关性就越强,否则越弱。
就此图来说,散点图中的每一个点表示一个病例,而我们最想知道的还不是钠和钾的相关性,而是两者与药物的相关性,因为药物才是我们分析的目标。所以我们还想知道散点图中的每个病例使用的什么药物。可视化探索的核心是目标变量与输入变量的关系,所以探索不能够脱离目标变量。
因此,我们使用药物作为颜色区分,重新修正散点图。如下:
从图中可见,下三角区都是深蓝色,说明这部分病例使用的都是Y药物。这是很明显的规律,说明这里面有一种很强的关联。用数学的语言来描述,就是钠和钾的比例与药物有很强的相关性。因此,我们发现了一个很重要的变量就是钠和钾的比例。因此,我们可以派生一个变量:钠钾比。
首先,使用派生字段节点或者Java代码段节点生成钠钾比字段。配置如下:
其次,使用过滤节点过滤钠和钾字段,尝试在不适用钠、钾字段,而引入钠钾比字段的,通过以上的可视化探索,性别与药物的相关性不强,也过滤掉。所以,配置如下:
过滤后预览数据如下(右键执行,执行完成后,右键查看数据表):
模型整体评估如下:
我们点击决策树节点右键查看变量重要性视图。
结果如下所示:
从评估图中可看出,模型精度从原来的85%提升带了100%。当然实际中如果遇到预测精度为100%的情况一定就是错的。
下面我们再来解读一下得到的决策树模型,可以直观的了解决策树算法。如下图所示:
从整体来看,得此类病的人有大约一半的人(45%)选择服用了Y药物;
如果病人血液中钠和钾的比例大于14.8285,则选择服用Y药物,准确率为100%;
如果病人血液中钠和钾的比例不大于14.8285,若全部判成X药物准确率只有47.5%,因此再看病人的另外一个指标血压;
如果血压(其值有1、2和3)为2,则全部判为X药物,准确率为100%;
如果血压为1,全部判为C药物,准确率仅50%。再看另外一个指标胆固醇,若胆固醇的值为1,全部判为X药物,则准确率为100%。若胆固醇的值为2,全部判为C药物,则准确率为100%。
如果血压为3,全部判为A药物,则准确率仅56.8%。再看另外一个指标年龄,若年龄大于50.5岁,判为B药物,则准确率100%。若年龄不大于50.5岁,判为A药物,准确率为100%。
第一,在建模中,应该注意过拟合问题。在商业中建模的目的是为了商业应用,因此不仅要保证模型的准确性,更要保证模型的稳定性。
第二,模型应用的核心是模型的风险控制。只有可以控制风险的模型才可以使用,否则不管理论模型建的多么漂亮都是没有实际意义的。
第三,数据挖掘的成果并不只是数学模型,数据挖掘也不等价于高级模型(如决策树、神经网络等)。数据挖掘关键是实际应用与指导。
第四,数据挖掘的一个核心工作就是图形化探索,貌似很简单却又最为重要。因为这是数据挖掘思路的源泉。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
一、问题:为什么 ID 会"断号" 很多刚接触 MySQL 的同学都会有一个困惑:表里的主键 ID 是自增的,删了中间几行数据之后,ID 变 ...
2026-10-22一、问题场景:为什么会重复 JOIN 同一个子查询 在写复杂 SQL 时,经常遇到这种需求:同一张表或同一个聚合子查询,要和主表关联 ...
2026-10-22人力资源专员是HR体系的执行入口。招聘信息发布、简历初筛、面试安排、考勤汇总、入离职手续、劳动合同与档案管理,大多由这个岗 ...
2026-10-22人力资源经理问“必学技巧”,真正要解决的不是知识清单不够长,而是时间有限、业务催得紧,学完却用不上。更有效的路径是:先用 ...
2026-10-22内容营销岗位的核心任务,不是“把文案写得更漂亮”,而是围绕目标受众,用持续的内容供给影响认知、推动转化并沉淀复购。它至少 ...
2026-10-22理财经理培训课程很多,难的是判断“先学什么、后学什么、学完能做什么”。与其按课程名称罗列,不如先看岗位任务:客户分层与维 ...
2026-10-22理财经理的知识结构,可以先用一句话概括:合规与产品知识决定“不出错”,客户经营与资产配置决定“够不够专业”,市场研判与数 ...
2026-10-22经济学背景做数据分析,优势不在工具,而在问题意识:供需如何相互作用、成本与收益如何权衡、变量之间是相关还是因果。真正的缺 ...
2026-10-22需要,但要把“需要”理解准确。经济学本身就在处理数据:GDP、物价、就业、企业营收、问卷调研,都是经济分析的原料。真正的区 ...
2026-10-22经济学分析能力不是单一技能,它至少由三层构成:把现实问题转成可检验假设的理论框架能力、用数据与统计方法验证假设的工具能力 ...
2026-10-22金融分析师的知识提升,先补的不是更多模型,而是让结论可复核的底层能力。按任务顺序,大致是四层:财务与业务理解、指标口径管 ...
2026-10-22金融分析师的“通用技能”,指换到不同机构、不同行业组仍用得上的底层能力,而非某家公司内部系统的操作经验。按任务拆,日常要 ...
2026-10-22先给结论:数据分析证书不是金融分析师的准入条件,招聘方也不会因为一张证书就直接判断你能做分析。要不要考,取决于你当前任务 ...
2026-10-22金融分析师的核心技能,不是“会看K线”或“会讲宏观”,而是能把一家公司、一个行业或一类资产,转化为可核查的数据判断与书面 ...
2026-10-22产品经理的知识提升,不是把需求文档、原型、SQL、数据分析、项目管理都学一遍,而是先对准目标岗位的真实任务,找出自己最缺的 ...
2026-10-22产品专员提升工作知识,最有效的方式不是先囤课程,而是围绕日常交付的四件事来补:需求调研与优先级判断、原型与PRD表达、竞品 ...
2026-10-22产品运营专员提升个人能力,常见误区是先把Excel、SQL、Python列成一张学习清单,然后从第一个工具开始学。更有效的做法是先回答 ...
2026-10-22产品运营的能力提升,最怕从“课程目录”出发:今天学增长模型,明天背SQL语法,学完却说不清自己负责的功能为什么激活率低。更 ...
2026-10-22产品经理的技能和影响力不是两条分开的赛道。技能决定你能不能把问题分析清楚、把方案设计对;影响力决定你的判断能否被团队接受 ...
2026-10-22产品经理要学的数据分析能力,不是“会写SQL”或“会用BI工具”这么简单。更准确地说,是围绕需求评估、功能迭代、指标监控、实 ...
2026-10-22