最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

Smartbi数据挖掘示例--专家诊病模型

[复制链接]
跳转到指定楼层
楼主
发表于 2015-7-29 10:19:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

该案例的工作流如下:


1、商业目标
业务理解:该案例所用的数据是一份医生诊病的数据,如下:


表1:数据视图
其中,年龄、性别、血压、胆固醇、钠、钾是病人的指标,而药物是医生针对病人的情况开出的药物。
业务目标:建立专家诊病系统,当把病人的指标输入到该系统时,系统会自动输出该给此类病人开出的药物。
数据挖掘目标:建立专家诊病模型,该模型以病人的病例指标为输入,以药物为目标,建立预测模型,该模型可以根据输入指标的值,计算预测值(药物)。


操作实现:

2、新建工作流
可以点击文件菜单下的"新建"或者点击工具栏左方的新建按钮( )开始创建工作流。点击后会弹出以下向导界面:


选中 ,按


输入工作流的名字后即可完成创建:


图1:新建工作流
3、导入数据
此时要根据数据存储文件的格式选择相应的导入节点。在这里由于数据源是CSV文件,因此可以选择CSV导入节点(也可以使用平面文件)。将左侧节点库中CSV导入节点拖到右侧的工作流中。双击节点或者右键菜单中选择"配置",弹出如下配置窗口:


图2:CSV节点配置
点击 按钮,选择相应的数据文件。


注意此处如果数据第一行包含字段名,则选中 (该数据有),如果有行ID字段,则选中 (该数据无,则不选中)。配置完成后,点击
节点下方的预警符号从 变成了 。红色表示节点尚未配置或者配置有误,此时节点不可执行;黄色表示节点可以执行。点击右键菜单的 或者点击工具栏的 ,即可执行工作流。执行完成后预警符号变成


点击右键菜单的 可以查询数据。另外,节点的右端口也会悬停显示数据的行数和字段数。


4、理解数据

使用统计分析菜单下的统计节点可以对数据进行描述,这是建模之前必须要做的工作,一方面是为了设计合理的实施方案,另外一方面也是为了更好的选择合适的算法。从表2中可以看出每种分类变量的取值及每种取值的个数。比如,从这里我们可以看出药物字段一共包含五种取值,且出现最多的是Y药物。在这里目标变量为分类型,因此只能选择分类预测类模型,如决策树、逻辑回归等。




表2:数据描述
5、预建模
接下来便是尝试建模,看看建模效果。


图3:预建模

首先,从数据准备的行菜单中选择分区节点。使用分区节点可以将数据集分成测试集和训练集,训练集用于训练模型,测试集用于测试模型。配置如下:

注意,如果选中使用随机种子( ),则每次运行分区结果将会是一样的,否则每次运行的结果将会不同,进而建模的结果也会不同。通常是选择选中该项,使得训练集和测试集都固定。另外,此处还有个很重要的用途,不选中 ,多次运行可以测试数据分布规律和模型稳定性。

还有一点要注意,这里分区即把数据集随机分成两份,通常训练集要比测试集大,通常分为5:5,6:4,7:3,8:2,9:1。数据集越小,训练集应该分的更多,原因是要保证模型的稳定性,参与训练的数据要足够多。实际中,各种比例都会尝试,目的有二:一是选择最佳的比例,二是测试模型的稳定性。

其次,选择分类预测节点,因为目标变量(药物)为分类型。此处我们重点学习决策树算法,所以就先选择决策树算法节点。节点连接如上图3所示,在决策树(训练)节点配置中选择目标变量药物。其中,决策树(训练)节点连接分区节点的第一个输出端口(训练集),决策树(预测)节点的数据输入端口连接分区节点的第二个输出端口(测试集),模型输入端口连接决策树(训练)节点的输出端口。决策树训练节点和预测节点的配置分别如下:



最后,使用分类评估节点评估模型的准确性。配置如下图所示:


评估结果:


表3:模型评估1
从表3中可以看出,模型测试准确度为90%,误判10%。预建模的目的是为了从整体判断现有变量与目标变量的相关性,以便可以根据经验预估最终的效果和可操作性。

接下来如何优化模型呢?通常来说有三种办法:第一,增加新数据,以便引入更多重要的影响因素;第二,尝试其他模型,以便找到更适合的模型;第三,优化输入,即基于已有数据派生更多重要的变量,或者过滤不重要的变量。这三者中,第一种最难以实现,一般企业的数据是有限的,企业内部可用数据及外部可用网络数据,在项目需求调研阶段就应该明确,而企业外部行业数据难以获取。第二种最容易尝试,所有可用模型可以快速尝试一遍,这个是每个项目中都必做的,但却不是最重要的方法。而第三种方法才是项目中最可行,也是最重要的办法。

如何优化输入?这是第三种方法的实现目标。而优化输入最重要的环节就是数据探索。

6、数据探索


图4:数据可视化探索
数据探索最核心的一项工作就是探索输入变量与目标变量的相关性。分析变量的相关性可以使用相关性计算,也可以使用图形化分析,而后者最直观常用。分析两个分类型变量可以使用条形图、网络图或者交叉表。分析两个数值型变量可以使用散点图。分析一个数值型变量和一个分类型变量可以使用直方图。
通过分析,血压和药物字段有着强相关性,因为从图中可以看出使用药物B和药物A的人都是高血压(3表示高血压,2表示正常,1表示低血压),使用药物C的人都是低血压,这种很明细的规律反映出两个字段间存在很强的相关关系,如下图所示:



同理,胆固醇和选择药物之间也有一定相关性,而性别和选择药物相关性不大,如下图所示:




接下来分析数值型字段的相关性,从图中可以看出血液中的钠和钾相关性很弱或者没有。从图形化的方式判断相关性强弱的方法就是看图形中的规律,规律越明显,相关性就越强,否则越弱



就此图来说,散点图中的每一个点表示一个病例,而我们最想知道的还不是钠和钾的相关性,而是两者与药物的相关性,因为药物才是我们分析的目标。所以我们还想知道散点图中的每个病例使用的什么药物。因此,我们使用药物作为颜色区分,重新修正散点图。如下:



从图中可见,上三角区都是浅红色,说明这部分病例使用的都是Y药物。这是很明显的规律,说明这里面有一种很强的关联。用数学的语言来描述,就是钠和钾的比例与药物有很强的相关性。因此,我们发现了一个很重要的变量就是钠和钾的比例。因此,我们可以派生一个变量:钠钾比例。

7、优化输入
首先,使用计算字段节点或者Java代码段(简单)节点生成钠钾比例字段。配置如下:


其次,使用列过滤节点过滤钠和钾字段,否则它们的重复存在会导致多重共线性问题。配置如下:


过滤后预览数据如下:

8、重新建模


模型整体评估如下:


表4:模型评估2
从表4中可看出,模型精度从原来的90%提升带了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%。


9、小结第一,在建模中,应该注意过拟合问题。在商业中建模的目的是为了商业应用,因此不仅要保证模型的准确性,更要保证模型的稳定性。
第二,模型应用的核心是模型的风险控制。只有可以控制风险的模型才可以使用,否则不管理论模型建的多么漂亮都是没有实际意义的。
第三,数据挖掘的成果并不只是数学模型,数据挖掘也不等价于高级模型(如决策树、神经网络等)。数据挖掘最重要的不仅是得到一个模型,还有分析得出最合理的输入变量以及给出数据质量管理的建议。
第四,数据挖掘的一个核心工作就是图形化探索,貌似很简单却又最为重要。因为这是你数据挖掘思路的源泉。

本文源自:http://wiki.smartbi.com.cn/pages/viewpage.action?pageId=13599812




楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-5-15 21:38

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表