决策树(专家药物模型)操作案例
依据常用案例专家药物模型使用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
“最近复购率一直在下降,我们的营销力度不小啊,为什么用户还是走了?” “是不是广告投放的用户质量不高?还是我们的产品问题 ...
2025-02-21以下文章来源于数有道 ,作者数据星爷 SQL查询是数据分析工作的基础,也是CDA数据分析师一级的核心考点,人工智能时代,AI能为 ...
2025-02-19在当今这个数据驱动的时代,几乎每一个业务决策都离不开对数据的深入分析。而其中,指标波动归因分析更是至关重要的一环。无论是 ...
2025-02-18当数据开始说谎:那些年我们交过的学费 你有没有经历过这样的场景?熬了三个通宵做的数据分析报告,在会议上被老板一句"这数据靠 ...
2025-02-17数据分析作为一门跨学科领域,融合了统计学、编程、业务理解和可视化技术。无论是初学者还是有一定经验的从业者,系统化的学习路 ...
2025-02-17挖掘用户价值本质是让企业从‘赚今天的钱’升级为‘赚未来的钱’,同时让用户从‘被推销’变为‘被满足’。询问deepseek关于挖 ...
2025-02-17近来deepseek爆火,看看deepseek能否帮我们快速实现数据看板实时更新。 可以看出这对不知道怎么动手的小白来说是相当友好的, ...
2025-02-14一秒精通 Deepseek,不用找教程,不用买资料,更不用报一堆垃圾课程,所有这么去做的,都是舍近求远,因为你忽略了 deepseek 的 ...
2025-02-12自学 Python 的关键在于高效规划 + 实践驱动。以下是一份适合零基础快速入门的自学路径,结合资源推荐和实用技巧: 一、快速入 ...
2025-02-12“我们的利润率上升了,但销售额却没变,这是为什么?” “某个业务的市场份额在下滑,到底是什么原因?” “公司整体业绩 ...
2025-02-08活动介绍 为了助力大家在数据分析领域不断精进技能,我们特别举办本期打卡活动。在这里,你可以充分利用碎片化时间在线学习,让 ...
2025-02-071、闺女,醒醒,媒人把相亲的带来了。 我。。。。。。。 2、前年春节相亲相了40个, 去年春节相亲50个, 祖宗,今年你想相多少个 ...
2025-02-06在数据科学的广阔领域中,统计分析与数据挖掘占据了重要位置。尽管它们常常被视为有关联的领域,但两者在理论基础、目标、方法及 ...
2025-02-05在数据分析的世界里,“对比”是一种简单且有效的方法。这就像两个女孩子穿同一款式的衣服,效果不一样。 很多人都听过“货比三 ...
2025-02-05当我们只有非常少量的已标记数据,同时有大量未标记数据点时,可以使用半监督学习算法来处理。在sklearn中,基于图算法的半监督 ...
2025-02-05考虑一种棘手的情况:训练数据中大部分样本没有标签。此时,我们可以考虑使用半监督学习方法来处理。半监督学习能够利用这些额 ...
2025-02-04一、数学函数 1、取整 =INT(数字) 2、求余数 =MOD(除数,被除数) 3、四舍五入 =ROUND(数字,保留小数位数) 4、取绝对值 =AB ...
2025-02-03作者:CDA持证人 余治国 一般各平台出薪资报告,都会哀嚎遍野。举个例子,去年某招聘平台发布《中国女性职场现状调查报告》, ...
2025-02-02真正的数据分析大神是什么样的呢?有人认为他们能轻松驾驭各种分析工具,能够从海量数据中找到潜在关联,或者一眼识别报告中的数 ...
2025-02-01现今社会,“转行”似乎成无数职场人无法回避的话题。但行业就像座围城:外行人看光鲜,内行人看心酸。数据分析这个行业,近几年 ...
2025-01-31