数据挖掘案例—药物选择决策支持
【案例简要描述】
针对病人的病情和体质情况,医生往往需要采用不同的用药。本案例通过数据挖掘,对医院积累的历史数据进行分析,确定病人选择何种药物对治疗疾病最为有效。并开发了相应的药物选择决策支持系统的应用系统。
【背景介绍】
XX病是一种常见的疾病,目前有5种药物可以对其治疗,分别是——A、B、C、X、Y。不同的药物对病人有不同的疗效。历史上,医院往往根据医生的经验去判断针对特定的病人应该选择何种药物。但是由于新医生的加入,这种仅仅靠经验判断的做法造成了很多误诊。
该医院有比较完善的病例留存,为了改变以上局面,也为了更好的利用历史数据和专家经验,该医院决定通过数据挖掘技术对历史数据进行分析研究,并期望能够建立一套有效的药物选择决策支持系统。
【数据说明】
目前有历史病例数据1200条,咨询专家意见,我们提取了其中影响选择药物的若干个变量记入数据库,它们是年龄、性别、血压、胆固醇含量、钠含量、钾含量,最后一个变量是我们需要确定的选择药物,数据存贮在Microsoft Access数据库中。
【数据挖掘过程】
1、 商业理解
在这个阶段我们主要需要描述清楚业务问题,并对我们手头拥有的资源有一个非常清晰的认识。在这个案例中,我们需要根据病人的个人情况和身体特征来确定何种药物对它最为合适。由于问题比较简单,我们的商业理解也比较简单。
2、 数据理解
数据理解阶段用来完成对数据质量、数据之间的基本关系进行探索性分析等项工作。在这个阶段,我们对历史数据中的1200条数据进行图形观察,初步观察病人的情况和身体特征是否与选择药物关系明显。数据流图见图1。
图1:数据理解
下面是产生的一些典型图形,图形解释略。
图2:对数据的初步探索性分析
3、 数据准备
数据准备主要完成对不同的数据源的整合,并且对数据进行适当的变换,使之适合数据挖掘的需要,对于特定的模型,需要把原始数据集合拆分成训练数据集和检验数据集也在这个步骤中完成。
对于本案例来说,由于数据源只有一个,并且数据格式也相对单一简单,我们在数据准备中主要完成对原始数据集的拆分,从而用训练数据集建立模型,用检验数据集对模型的效果进行评估。
在Clementine中,对数据集的拆分,是通过引入一个中间变量来完成的。在本案例中,我们把全部1200条数据中的2/3左右(800左右)作为训练数据集,把1/3左右(400左右)作为检验数据集。我们引入了一个二分变量——拆分变量,这个二分变量对应1200条原始数据有2/3左右为“真”(T),1/3左右为“假”(F)。我们挑出那些拆分变量值取“真”(T)的记录作为训练数据集,那些拆分变量值取“假”(F)的记录作为检验数据集。实现该过程的数据流见图3。
图3:数据准备
4、 模型建立和评估
在模型建立阶段,我们将逐步建立和调整模型,并对如何提高模型的预测效果进行尝试。
(1) 建立最简单的模型。对于训练数据集,我们首先把病人的年龄、性别、血压、胆固醇含量、钠含量、钾含量等不经过任何处理,全部作为预测选择药物的输入变量,而把选择药物作为待预测变量(输出变量)。数据流图见图4,我们建立了神经网络、C5.0和Logistic回归三个模型。
图4:药物选择决策支持模型1
接下来我们用检验数据集对模型进行检验,数据流图见图5。模型检验结果见图6。从检验结果我们可以看出,Logistic模型的评估效果最好,达到了96.21%。
图5:药物选择决策支持模型1检验
图6:药物选择决策支持模型1检验结果
讨论——如何提高模型的效果:从模型检验中我们可以看出,三个模型中可能有不一致的情况,这就使得我们有一种思路,即我们在发布模型的时候,可以考虑把那些三个模型预测一致的才作为预测,而把三者预测不一致的作为待判记录随后进行深入的分析,这样我们就使得模型的精度提高到了98.29%,但是作为牺牲,我们也会约有12%左右的病人是无法判断的,需要我们对记录做进一步的研究。
(2)为了更好的建立和调整模型,我们对业务进行深入了解,引入医生的业务经验。根据医生对医学理论的讨论和过去实践经验的积累,他们认为人体中的钠含量和钾含量对病人选择何种药物的作用并不是特别明显,但是他们的比例却是影响选择何种药物的一个关键因素,所以在我们下面建立的模型中,我们生成新变量——钠钾比例,而剔除钠含量和钾含量两个变量。数据流图见图7,模型我们仍旧采用神经网络,C5.0和Logistic回归三种模型。
图7:药物选择决策支持模型2
类似(1),我们对模型效果进行检验,检验数据流和检验结果分别如图8和图9所示。
图8:药物选择决策支持模型2检验
图9:药物选择决策支持模型2检验结果
从结果中,我们可以看出,随着我们业务经验的引入,我们的模型效果有了显著的提高,并且我们选择模型也发生了变化。精度由原来的Logistic回归最优96.21%提高到了C5.0最优99.75%。
5、 模型发布
模型建立是为了应用,我们前面的全部工作都在于我们建立的模型能够被最终的业务人员所使用,假设我们由以下10个病人的资料数据,需要根据他们的情况判断使用什么药物最好。
表1:病人资料
年龄 | 性别 | 血压 | 胆固醇 | 钠含量 | 钾含量 |
25 |
F | HIGH | HIGH |
0.675996 |
0.074834 |
17 |
F | HIGH | HIGH |
0.539756 |
0.030081 |
23 |
M | LOW | NORMAL |
0.556453 |
0.03618 |
24 |
M | NORMAL | NORMAL |
0.845236 |
0.055498 |
74 |
F | LOW | HIGH |
0.849624 |
0.076902 |
40 |
F | NORMAL | HIGH |
0.67683 |
0.049634 |
32 |
F | HIGH | HIGH |
0.581664 |
0.024803 |
70 |
M | LOW | HIGH |
0.716359 |
0.036936 |
64 |
M | HIGH | NORMAL |
0.640789 |
0.078302 |
45 |
M | HIGH | HIGH |
0.664105 |
0.047819 |
该病人资料也被我们存放在Access数据库中。我们可以考虑以下三种方式对我们的模型进行发布供业务人员(医生)使用。
(1) 直接写报告的方式,通过HTML展示。数据流图10,结果展示实际效果如图11。
图10:模型发布数据流1
图11:报告方式发布结果示例
(2) 把选择药物直接写回数据库。数据流如图12,结果大致情形如图13。
图12:模型发布数据流2
图13:模型发布—把结果写回数据库
(3) 通过Clementine Solution Publisher结合Visual C++开发应用系统界面,业务人员(医生)可以直接输入病人资料,实时的得到药物推荐。发布数据流见图14,系统界面如图15。
图14:模型发布数据流3
图15:模型发布——开发应用系统
数据分析咨询请扫描二维码
CDA数据分析师认证:CDA认证分为三个等级:Level Ⅰ、Level Ⅱ和Level Ⅲ,每个等级的报考条件如下: Le ...
2024-11-14自学数据分析可能是一条充满挑战却又令人兴奋的道路。随着数据在现代社会中的重要性日益增长,掌握数据分析技能不仅能提升你的就 ...
2024-11-14数据分析相关职业选择 数据分析领域正在蓬勃发展,为各种专业背景的人才提供了丰富的职业机会。从初学者到有经验的专家,每个人 ...
2024-11-14数据挖掘与分析在金融行业的使用 在当今快速发展的金融行业中,数据挖掘与分析的应用愈发重要,成为驱动行业变革和提升竞争力的 ...
2024-11-14学习数据挖掘需要掌握哪些技能 数据挖掘是一个不断发展的领域,它结合了统计学、计算机科学和领域专业知识,旨在从数据中提取有 ...
2024-11-14统计学作为一门基于数据的学科,其广泛的应用领域和多样的职业选择,使得毕业生拥有丰厚的就业前景。无论是在政府还是企业,统计 ...
2024-11-14在当今高速发展的技术环境下,企业正在面临前所未有的机遇和挑战。数字化转型已成为企业保持竞争力和应对市场变化的必由之路。要 ...
2024-11-13爬虫技术在数据分析中扮演着至关重要的角色,其主要作用体现在以下几个方面: 数据收集:爬虫能够自动化地从互联网上抓取大量数 ...
2024-11-13在数据分析中,数据可视化是一种将复杂数据转化为图表、图形或其他可视形式的技术,旨在通过直观的方式帮助人们理解数据的含义与 ...
2024-11-13在现代银行业中,数字化用户行为分析已成为优化产品和服务、提升客户体验和提高业务效率的重要工具。通过全面的数据采集、深入的 ...
2024-11-13在这个数据飞速增长的时代,企业若想在竞争中占据优势,必须充分利用数据分析优化其营销策略。数据不仅有助于理解市场趋势,还可 ...
2024-11-13数据分析行业的就业趋势显示出多个积极的发展方向。随着大数据和人工智能技术的不断进步,数据分析在各行各业中的应用变得越来越 ...
2024-11-13市场数据分析是一门涉及多种技能和工具的学科,对企业在竞争激烈的市场中保持竞争力至关重要。通过数据分析,企业不仅可以了解当 ...
2024-11-13数据分析与数据挖掘是数据科学领域中两个关键的组成部分,它们各有独特的目标、方法和应用场景。尽管它们经常在实际应用中结合使 ...
2024-11-13在如今这个数据驱动的时代,数据分析能力已经成为许多行业的重要技能。无论是为工作需要,还是为了职业转型,掌握数据分析都能够 ...
2024-11-13在如今这个数据驱动的时代,数据分析能力已经成为许多行业的重要技能。无论是为工作需要,还是为了职业转型,掌握数据分析都能够 ...
2024-11-13作为一名业务分析师,你肩负着将业务需求转化为技术解决方案的重任。面试这一角色时,涉及的问题多种多样,涵盖技术技能、分析能 ...
2024-11-13自学数据分析可能看似一项艰巨的任务,尤其在开始时。但是,通过一些策略和方法,你可以系统地学习和掌握数据分析的相关知识和技 ...
2024-11-10Excel是数据分析领域中的一款强大工具,它凭借其灵活的功能和易用的界面,成为了许多数据分析师和从业者的首选。无论是简单的数 ...
2024-11-10在快速发展的商业环境中,数据分析能力已经成为许多行业的核心竞争力。无论是初学者还是经验丰富的专家,搭建一个有效的数据分析 ...
2024-11-10