决策树(专家药物模型)操作案例
依据常用案例专家药物模型使用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%。
第一,在建模中,应该注意过拟合问题。在商业中建模的目的是为了商业应用,因此不仅要保证模型的准确性,更要保证模型的稳定性。
第二,模型应用的核心是模型的风险控制。只有可以控制风险的模型才可以使用,否则不管理论模型建的多么漂亮都是没有实际意义的。
第三,数据挖掘的成果并不只是数学模型,数据挖掘也不等价于高级模型(如决策树、神经网络等)。数据挖掘关键是实际应用与指导。
第四,数据挖掘的一个核心工作就是图形化探索,貌似很简单却又最为重要。因为这是数据挖掘思路的源泉。
数据分析咨询请扫描二维码
在准备数据分析师面试时,掌握高频考题及其解答是应对面试的关键。为了帮助大家轻松上岸,以下是10个高频考题及其详细解析,外加 ...
2024-12-20互联网数据分析师是一个热门且综合性的职业,他们通过数据挖掘和分析,为企业的业务决策和运营优化提供强有力的支持。尤其在如今 ...
2024-12-20在现代商业环境中,数据分析师是不可或缺的角色。他们的工作不仅仅是对数据进行深入分析,更是协助企业从复杂的数据信息中提炼出 ...
2024-12-20随着大数据时代的到来,数据驱动的决策方式开始受到越来越多企业的青睐。近年来,数据分析在人力资源管理中正在扮演着至关重要的 ...
2024-12-20在数据分析的世界里,表面上的技术操作只是“入门票”,而真正的高手则需要打破一些“看不见的墙”。这些“隐形天花板”限制了数 ...
2024-12-19在数据分析领域,尽管行业前景广阔、岗位需求旺盛,但实际的工作难度却远超很多人的想象。很多新手初入数据分析岗位时,常常被各 ...
2024-12-19入门数据分析,许多人都会感到“难”,但这“难”究竟难在哪儿?对于新手而言,往往不是技术不行,而是思维方式、业务理解和实践 ...
2024-12-19在如今的行业动荡背景下,数据分析师的职业前景虽然面临一些挑战,但也充满了许多新的机会。随着技术的不断发展和多领域需求的提 ...
2024-12-19在信息爆炸的时代,数据分析师如同探险家,在浩瀚的数据海洋中寻觅有价值的宝藏。这不仅需要技术上的过硬实力,还需要一种艺术家 ...
2024-12-19在当今信息化社会,大数据已成为各行各业不可或缺的宝贵资源。大数据专业应运而生,旨在培养具备扎实理论基础和实践能力,能够应 ...
2024-12-19阿里P8、P9失业都找不到工作?是我们孤陋寡闻还是世界真的已经“癫”成这样了? 案例一:本硕都是 985,所学的专业也是当红专业 ...
2024-12-19CDA持证人Louis CDA持证人基本情况 我大学是在一个二线城市的一所普通二本院校读的,专业是旅游管理,非计算机非统计学。毕业之 ...
2024-12-18最近,知乎上有个很火的话题:“一个人为何会陷入社会底层”? 有人说,这个世界上只有一个分水岭,就是“羊水”;还有人说,一 ...
2024-12-18在这个数据驱动的时代,数据分析师的技能需求快速增长。掌握适当的编程语言不仅能增强分析能力,还能帮助分析师从海量数据中提取 ...
2024-12-17在当今信息爆炸的时代,数据分析已经成为许多行业中不可或缺的一部分。想要在这个领域脱颖而出,除了热情和毅力外,你还需要掌握 ...
2024-12-17数据分析,是一项通过科学方法处理数据以获取洞察并支持决策的艺术。无论是在商业环境中提升业绩,还是在科研领域推动创新,数据 ...
2024-12-17在数据分析领域,图表是我们表达数据故事的重要工具。它们不仅让数据变得更加直观,也帮助我们更好地理解数据中的趋势和模式。相 ...
2024-12-16在当今社会,我们身处着一个飞速发展、变化迅猛的时代。不同行业在科技进步、市场需求和政策支持的推动下蓬勃发展,呈现出令人瞩 ...
2024-12-16在现代商业世界中,数据分析师扮演着至关重要的角色。他们通过解析海量数据,为企业战略决策提供有力支持。要有效完成这项任务, ...
2024-12-16在当今数据爆炸的时代,数据分析师是组织中不可或缺的导航者。他们通过从大量数据中提取可操作的洞察力,帮助企业在竞争激烈的市 ...
2024-12-16