以前,医疗行业研究人员需要手动收集和分析大量的数据以进行疾病的预测和治疗,面对庞杂的数据信息,相关的数据分析工作挑战十分巨大。随着人工智能领域的发展,医生在见到患者的同时获得基于实验室检查结果,家族病史,临床试验数据等生命统计数据的实时分析报告将成为现实。本文将以重症监护医学领域的人工智能应用为例,讲述如何使用DarwinML来辅助医疗行业数据科学家进行自动建模。
DarwinMLDataFusion数据抽取平台
该平台帮助医疗行业数据科学家将原始数据自动转换为可以被模型使用的特征数据,功能通过数据流形式实现,研究者可以通过修改参数和拖拽节点灵活改变特征抽取过程。下图是一个数据流示意图。
DarwinMLStudio自动建模平台
从数据导入和清洗为起点,DarwinML可自动建模并给出模型多方位评估结果,数据科学家只需要重点关注模型评估结果。研究者根据研究目标,自行返回去调整最初的数据清洗方案和模型设置,多次建模,选择符合研究需要的最终模型。
DarwinML自动建模平台全流程如下:
1)数据清洗:均衡样本分布,填补缺失值,消除特征异常值,文本特征数值化等。
2)模型设计:根据数据自身特性,以及研究者的参数设定,自动构建搜索空间内的最优网络结构。网络结构会在平台中显示如下。
3)
超参调优:对最优网络结构,结合数据特性,给出相匹配的最优超参组合,比如下图所示的“超参数”列中XGBClassifiler的learningRate和nEstimators等。
4)模型训练:使用最优网络及超参组合,实际训练模型。
5)模型评估:给出查全率,查准率,AUC等基础指标值,并且从模型角度,给出重要列分析结果,从样本角度,给出单个样本的重要特征分析。
同时可以根据需要,DarwinML自动建模平台也支持只使用部分功能。比如可以导入一组新患者的检查数据,使用上次训练好的模型,只做模型评估,来对这一组新患者的患病几率做预判。
案例:重症感染综合征(又名败血症,Sepsis)预后研究
根据其较早期的检查指标,我们使用DarwinML为重症监护室(ICU)患者预警感染重症感染综合征(又名败血症,Sepsis)的可能性,以及是哪些指标以何种方式导向这一结果。从而让医疗领域数据科学家可以尽早地根据患者的各项检查指标来判断Sepsis病症的预后。研究者通过模型预警提前介入,用药治疗挽救生命。
步骤一:数据抽取
根据研究需要,我们的特征抽取目标是,从620万条检查记录中,涉及约20,000名患者的70项检查,抽取出进入ICU之后符合一定条件的记录,生成特征值用于模型。
DarwinML数据抽取平台在这一过程中,可以帮助研究者完成三件事情:
1.数值化指标值:由于医疗设备各有差异,同一项指标的结果记录不一致。比如:白蛋白(Albumin)指标,在部分检查结果中记录为数值0.5,1.9,2.9等,但有些检查结果使用分段记录“LESSTHAN0.3”,“LESSTHAN1.0”等,需要统一化处理为数值,用于模型训练;
2.截取数据:研究者可以通过色设置参数,来对关注的部分进行数据截取。比如在本次案例中,研究者希望探究是否有可能在患者进入ICU72小时内给出感染Sepsis的预判,则研究者设定如下参数值来实现。
3.生成模型特征:由于患者的各项检查时间不连续,检查间隔不稳定,导致70项指标的缺失值平均高达86.88%,具有高稀疏性特点。平台可以对620万条检查记录进行特征生成,转换为被模型直接使用的20,000条患者记录,也就是每位患者一条特征数据。
上述步骤将在DarwinMLDataFusion,以数据流形式在1小时内处理结束。数据流的运行进展可以通过页面日志实时查看,也可以在数据流实时显示。
步骤二:数据清洗
DarwinML自动建模平台会在数据导入后给出当前数据每一列的具体清洗建议。比如:是否需要填充缺失值,填充值取多少合适;这一列的数据是否有严重偏移,是否需要消除异常值;这一列是否是字符串列,模型无法直接使用,如何做数值化处理,是映射为0,1,2...,还是做ICA编码提取语义等。当然,研究者可以选择信任推荐的清洗方案,也可以自定义清洗方案。
下图给出了DarwinML对不平衡数据分布自动做均衡化之后的结果,原本7:1的严重偏移分布(左图),转换为可以更好被模型拟合的2:1分布比例(右图)。
“Hours0-72_Alkalinephosphate_min”数据由于含有异常值,数据分布呈现严重正偏态,如下左图,DarwinML自动推荐等距分箱,清洗后,如下右图,消除了偏态分布。
在数据清洗完成后,DarwinML自动建模平台会给出最终的数据宽表(如下图)供反查。如果有不符合预期的处理,可以选择“再次清洗”实现。
步骤三:模型设计、超参调优、模型训练
DarwinML自动完成。
步骤四:模型评估
在DarwinML完成自动建模后,研究者可以查看模型评估结果来进行分析。比如:当我们完成了一个模型,看到ROC曲线如下,AUC约等于0.9249,模型整体准确率较高。
但当我们进一步查看模型重要列分析,发现模型给出重要性较高的指标是Diastolicbloodpressure(舒张压)等体征指标,而研究者更为关注的是各项病理检查指标。
为了排除影响,我们选择再次清洗数据,把体征指标从数据中剔除掉,再次自动建模。
剔除体征指标后,得到一个新的模型,AUC约等于0.9094,略有降低,但模型的实际功能更符合研究需要。
接下来,我们可以查看评分卡结果,并对来患病几率选择一个门限,比如0.3,这时查准率大约为0.94。在实际使用中,当模型给出的患病几率超过门限0.3,我们就可以初步判断这位患者易感,需要重点关注。
结语
本文主要以重症感染综合征(又名败血症,Sepsis)的一次预后研究为例,对DarwinML自动建模平台展开介绍。DarwinML同时支持时间序列、图像分类、图像目标识别、OCR等任务,兼容研究者自定义的模型应用。在辅助医疗行业数据科学家进行自动建模过程中实现了自动化、人性化、专业化等极具应用价值的目标。
本⽂为探智立⽅与广州市妇女儿童医疗中心李丽娟博⼠合作研究案例
A5创业网 版权所有