应用案例 | 数据分析+医疗——让疾病无所遁形
来源: / 作者: / 时间:2023-10-09
从古至今,疾病的预防和控制始终是一个重大的挑战。随着科技的不断进步,数据分析逐渐成为医疗健康领域中不可或缺的工具。数据分析不仅能帮助医疗专业人员更好地理解疾病的模式和趋势,还可以协助患者对自己的健康状况进行更加准确的判断。那么数据分析是如何帮助医疗人员进行病情诊断的呢?我们通过一个具体案例一起来探讨。
数据分析师带你走进医疗前线
近年来癌症已经成为全球最大的健康问题,高居所有死因的第一位。其中乳腺癌发病率呈逐年上升趋势,跃居女性恶性肿瘤第一位(据估计已接近0.03%,即全球每1万人就有接近3人患有乳腺癌)。但是,乳腺癌早期一般没有明显症状,多数情况下需经过多次、多项检查才可能诊断出结果。基于此,我们可以利用机器学习模型对病人的肿瘤情况进行预测,及时检测出早期肿瘤,减少癌症的致死率。
首先,我们来看此案例的数据情况(如下图),原始数据样本总数961个,字段包含序号、BIRADS等级、年龄、肿块形状、肿块边缘、肿块密度、严重度。
遵循数据分析流程的个步骤,我们对案例进行逐步分析:
PART
01
数据探索和预处理
数据探索:
在这个阶段,我们首先对数据进行描述性统计,通过描述性统计结果查看数据形态以及缺失值与异常值的情况。描述性统计结果如下:
数据预处理:
数据预处理需要根据描述性统计的结果以及后面模型对数据集的要求来进行处理,所以我们对数据进行了如下处理:
(1)缺失值处理:使用数据加工模块对缺失值进行删除。
(2)连续型变量离散化:对年龄字段使用变量离散化算法,降低规则复杂度,离散为三类,0类年龄段为0-44岁,1类年龄段为45-70岁,2类年龄段为71-100岁。
PART
02
模型构建和评估
在这个阶段,我们需要明确解决目标问题会用到哪些算法以及那种算法。确定算法后就可以着手模型的搭建,Datahoop平台简化了我们构建算法的步骤,可以直接将数据带入模型算法中,设置参数就可以进行模型训练与调优。
第一个模型我们选择逻辑回归模型。逻辑回归模型的数学背景相对简单,可以直观地表示因变量和自变量之间的关系,易于理解和解释。首先我们将指定的特征与标签给到模型,并指定迭代次数100次来进行模型训练(下图为逻辑回归算法模型的建立过程)。
通过结果展示发现模型训练集acc=81%,测试集acc=80%,该模型已经可以较为准确的预测乳腺癌,但是基于模型的复杂程度,准确率已经很难提升。
第二个模型我们选择GBDT(梯度提升决策树)模型。GBDT模型可以自动捕捉变量之间的非线性关系和交互效应,且无需进行特殊的特征工程就可以进行高度精确的预测。
GBDT模型的建立过程与逻辑回归模型一样,将指定的特征与标签给到模型,并指定迭代次数100次来进行模型训练,发现模型训练集acc=85%,测试集acc=82%,模型有点过拟合,需要调整迭代次数或者学习率。在此我们选择调整迭代次数,当迭代次数为30次时模型效果最好,调整后的训练集acc=85%,测试集acc=86%。(模型结果如下图所示)
PART
03
模型解读与应用
通过模型对比,发现GBDT的准确率更高,训练集acc=85%,测试集acc=86%。但是在疾病预测业务中,我们并不只关注模型的准确率,而是更加关注模型的精确率Precision(精确率Precision就是在所有样本当中,恶性肿瘤有没有被全部检测出来,也可以理解为模型对1类样本的辨别能力强不强。)对比两个模型的精确率我们发现GBDT模型的精准率高于逻辑回归模型,说明GBDT模型识别恶性肿瘤的能力比逻辑回归模型好。
在实际医疗业务中,我们可以把GBDT模型嵌入到公众号里,病人可以根据提示输入病情信息获得初步诊断,辅助医生结合其他检查结果判断需不需要进行下一步检查,以更好的确定具体病症,及早采取措施治疗。
通过上述案例我们不难发现数据分析在的疾病监测中具有很大的应用潜力。然而本案例只体现了数据分析在疾病的早期诊断和预测方面的效用。在个性化治疗方面,数据分析可以更好地监测和评估药物的疗效和副作用;在实时监测和警报方面,数据分析可以用于开发智能警报系统,及时通知医护人员病人的异常情况……所以数据分析正成为我们战胜疾病的有力武器。通过合理利用这一工具,我们可以构建一个更加健康、安全和幸福的社会。