京公网安备 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
CDA数据分析师 出品 作者:李诗怡 定义: 用户增长核心分析框架,刻画用户从接触产品到自发推荐的全生命周期,五个递进环节构建 ...
2026-09-15在数字化营销与精细化用户运营时代,企业传统的广撒网式营销模式成本高、转化率低,已无法适配精准商业竞争需求。客户画像作为大 ...
2026-09-15 很多数据分析师精通描述性统计,能熟练计算均值、中位数、标准差,但当被问到“用500个样本如何推断10万用户的真实满意度” ...
2026-09-15在MySQL数据库数据查询与数据分析中,GROUP BY与ORDER BY是使用频率极高的核心关键字。二者语法结构相似,常搭配使用,但核心功 ...
2026-09-14随着数字化治理、智慧运营、数字孪生技术的普及,数字体征成为衡量业务状态、系统运行、城市治理与企业经营健康度的核心体系。数 ...
2026-09-14 很多数据分析师沉迷于复杂的模型和算法,却忽略了数据分析的一项基础能力——描述性统计。事实上,大量商业分析问题,用描述 ...
2026-09-14在MySQL数据库运维与开发实践中,经常出现一种典型现象:数据库实际存储的数据量很小,数据表条数少、文件体积低,但服务器整体 ...
2026-09-11 很多数据分析师能熟练计算均值、标准差,但当被问到“总体和样本有什么区别”“参数和统计量有什么关系”“数据级别的高低如 ...
2026-09-11CDA数据分析师 出品 作者:李诗怡 定义: 将同一时间段内因具备相同属性或共同经历的用户划分为群体,分析其留存与生命周期价值 ...
2026-09-11在零售、商超、餐饮、线下门店等实体商业运营中,客流与销售额是衡量门店经营状态的两大核心指标。销售额是门店经营的最终结果, ...
2026-09-10在数据可视化体系中,柱形图是最基础、应用最广泛的图表类型,其中**累计柱形图(堆积柱状图)**是兼顾整体总量与内部结构的核心 ...
2026-09-10 许多数据分析师精通Excel函数和SQL查询,但当面对一张上万行的销售明细表,要快速回答“哪个地区销量最高”“哪款产品增长最 ...
2026-09-10在Python Pandas数据分析中,DataFrame是承载结构化数据的核心载体,数据清洗、数据修正、条件赋值、字段更新等实操场景,都离不 ...
2026-09-09 很多数据分析师掌握了Excel函数、会写SQL查询,但当被问到“数据从哪里来”“数据加工有哪些步骤”“如何使用分析工具连接数 ...
2026-09-09卡方检验(Chi-Square Test)是统计学中针对分类数据的经典显著性检验方法,核心用于判断两个离散分类变量是否相互独立、数据实 ...
2026-09-09CDA数据分析师 出品 作者:李诗怡 1. 销售漏斗阶段判断 题目:销售漏斗模型中,通过广告、社交媒体等方式触达品牌信息(如浏览品 ...
2026-09-07在Python数据分析中,Pandas库的DataFrame是最核心、最常用的结构化数据表对象,类似于Excel的二维表格,具备规整的行列结构、字 ...
2026-09-07在数据分析、经营复盘、业绩预测与经济统计工作中,平均增速(平均增长率)是衡量数据长期变化趋势、业务发展快慢的核心指标。不 ...
2026-09-07 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-09-07随着大数据技术的快速发展,商业竞争逐步从传统的经验式经营转变为数据驱动的精细化运营。海量的用户行为数据、交易数据、运营数 ...
2026-09-04