CN107066791A - 一种基于病人检验结果的辅助疾病诊断方法 - Google Patents
一种基于病人检验结果的辅助疾病诊断方法 Download PDFInfo
- Publication number
- CN107066791A CN107066791A CN201611175972.XA CN201611175972A CN107066791A CN 107066791 A CN107066791 A CN 107066791A CN 201611175972 A CN201611175972 A CN 201611175972A CN 107066791 A CN107066791 A CN 107066791A
- Authority
- CN
- China
- Prior art keywords
- data
- model
- error
- assay
- patient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Pathology (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
一种基于病人检验结果的辅助疾病诊断方法,首先,原始数据清洗,按照检验类别构建样本数据;其次,采用目前速度快准确率高的xgboost框架,改进算法降低错误率,设计模型损失函数优化模型迭代次数,根据样本类型训练多个诊断模型;进而,输出概率比较大的几种患者可能患有的疾病。本发明提供了一种可靠性高、辅助医生提高疾病诊断率并降低误诊率的疾病诊断方法。
Description
技术领域
本发明专利属于智慧医疗领域,涉及一种基于病人检验结果的辅助疾病诊断方法。
背景技术
随着人类社会的发展,人们对医疗服务的要求越来越高,疾病的正确诊断是合理有效进行治疗的前提条件。因为大多数疾病是诸多因素相互影响的结果,各医护人员的水平和经验也不尽相同,这对疾病的正确诊断与治疗造成了一定的困难。如今计算机技术和大数据迅猛发展,通过海量的医疗数据,借助机器学习算法,辅助医护人员快速有效为病人提供服务成为可能。
国内外已在计算机辅助诊断方面投入了大量的人力物力,取得了较好的成果。最初采用专家系统的形式,通过建立知识库来进行辅助诊断。后续出现了用于治疗和诊断的感染性疾病医疗专家系统,用于眼科疾病的诊断系统,用于胃病的诊断系统等研究成果。目前已公开了一些用于辅助诊疗的方法,发明专利《基于医疗大数据的疾病预警系统及方法》提供了一种基于医疗大数据的疾病预警系统及方法。主要分析患者所患疾病受天气因素的影响程度,如果影响程度比较大,则生成预警信息并发送给患者。发明专利《一种中文疾病诊断信息的自然语言处理方法及系统》,提供了一种中文疾病诊断信息的自然语言处理方法,主要是通过建立词典库和字符串匹配等来实现。发明专利《一种疾病诊断方法和装置》,公开了一种基于余弦相似度来度量样本之间的相似度的方法,该方法与欧氏距离的方式相比,相似度的度量更高,从而提高疾病诊断的精度。
发明内容
为了克服已有技术中疾病本身不容易判定、各医护人员的水平经验不同带来的工作效率低误诊率高的不足,本发明提供了一种可靠性高、辅助医生提高疾病诊断率降低误诊率的辅助疾病诊断方法,通过确诊病例的检验结果和诊断信息,优化xgboost设计损失函数优化迭代次数,构建诊断模型,输出患者按照患病概率排序的几种可能患有的疾病。
本发明解决其技术问题所采用的技术方案是:
一种基于病人检验结果的辅助疾病诊断方法,包括以下步骤:
步骤1:数据清洗;
步骤2:生成样本数据
步骤3:建立辅助诊断模型:采用改进xgboost框架,设计模型损失函数优化模型迭代次数,根据样本类型训练多个诊断模型;
步骤4:将病人检测结果按照步骤1和步骤2的方式进行处理,输入到检测模型中;
步骤5:输出模型诊断结果
诊断模型中输出患病概率大于阈值Tp,(0<Tp<1)的疾病,并且按照疾病概率降序排序,若无满足条件的疾病,则输出不确定提示,并记录数据。
进一步,所述辅助疾病诊断方法还包括以下步骤:
步骤6:修正诊断模型
将预测误差比较大的数据进行记录,当记录数大于阈值TN时,将这些记录数作为测试样本,统计在哪一个弱分类器fi处出现错误较多,从此fi开始重新训练诊断模型,在fi之前的模型参数保持不变,在训练分类器时的样本数据任意选取N/2个数据加上TN个数据作为新的训练样本,TN是模型调整的错误数据记录数的阈值。
再进一步,所述步骤1中,数据清洗的过程如下:
首先,确定需要的医疗数据的字段,字段信息有:机构编号、样本号、诊断名称、检验名称、检验结果和参考范围,病人序号作为患者的唯一标识符;
其次,进行数据预处理,筛选出有用的字段信息后,将数据出现的空值信息,补全或者删除,确保唯一标示符不为空;将数据中存在的重复项删除,确保不存在重复记录;数据结果不符合常规的记录删除,将数据中同一个检验项目对应多种疾病的数据进行处理,将多种疾病合并为一条记录。
更进一步,所述步骤2中,生成样本数据的过程如下:
2.1)将参考范围字段拆分
参考范围字段是字符串,字符串中有数字类型和汉字等其他类型,将数字类型的字段拆分成参考范围最大值和参考范围最小值两个字段;
2.2)生成检验结果异常标识
将检验结果按照参考范围进行标定,生成异常标识YICHANGBZ,YICHANGBZ=0代表检验项目正常,YICHANGBZ=1代表检验项目的检验结果比参考范围高,YICHANGBZ=2代表检验项目比参考范围低;
2.3)生成异常量化
超出异常的程度需要得到量化,生成异常量化YICHANGLH,YICHANGBZ=0,则YICHANGLH=0,检验结果正常;YICHANGBZ=1,则YICHANGLH=JIANYANJG/CANKAOFWH,检验结果高于参考范时;YICHANGBZ=2,则YICHANGLH=-1*(JIANYANJG/CANKAOFWL),检验结果低于参考范围;
所述步骤2)中,生成样本数据包括:
①生成诊断名称编号,将数据中诊断名称按照字典顺序从1开始编号;
②生成检验类别编号,将检验类别按照字典顺序从1开始编号;
③采用关联规则算法,查找患者一次就医需要做多项检查的组合项目,按照关联概率依序排序,选取关联度比较高的项目从10开始编号,关联度不是很高的项目直接记为独立的检验项目;
④生成检验名称项目编号,将每个检验类别按照检验名称字典顺序排序,将异常量化数据依次写入样本数组中,生成一个样本数据,记为x,将对应的诊断名称编号记为y;
⑤获得样本数据X={x1,x2,…},和对应的诊断类别Y={y1,y2,…},将样本中出现的异常点孤立点删除,将Y中出现次数少的样本数据删除,最终生成样本集D={X,Y}共有N个样本数据。
所述步骤3中,建立辅助诊断模型的过程如下:
根据训练样本的第一维数据区分样本,根据不同类型的样本数据训练多个辅助诊断模型,函数的权值的大小根据误差函数来确定,输出结果如公式(1),αk是函数的权值:
xgboost在模型训练过程中,每次保留原模型不变,加入一个新的函数f构成一个弱分类器,每次加入的弱分类器的分类效果不尽相同,通过如公式(2):
t表示算法的迭代次数,表示每一轮迭代的预测模型,预测模型中包含上一轮的预测模型和模型中新加入的函数f,加入f后仍然不能满足所有样本正确分类,仍然存在一定的误差,并且每次加入的函数的效果不同,αk是函数的权值,是通过预测完成后分类器的误差决定;需要求解的是每次加入的函数ft(x)=ωq(x),以及权值αk,输入参数包括树的结构q,以及叶子节点的权重ω。要想求得q,ω,通过最小化目标函数求解,xgboost框架中只要目标函数满足二阶可导就可以求解;
采用如公式(3)的损失函数,误差函数并不是二值0或1,但是满足[0,1]的取值范围;
error(0<=error<=1)代表模型存在的误差,n代表确诊疾病在输出结果中排序值,Tn是诊断结果排序的阈值,k可调节误差增长速度;如果n<=Tn,error=0;
整个诊断模型的损失表示为所有样本数据损失函数值的均值,按照公式(4)计算,如果模型的ERROR<Terror,就结束迭代获得最终辅助诊断模型,Terror是满足需求的模型误差值,αk=1-ERRORk,
本发明的技术构思为:采用患者检验结果建立辅助诊断模型给医护人员提供诊断参考。首先,原始数据清洗,按照检验类别构建样本数据;其次,采用目前速度快准确率高的xgboost框架,改进算法降低错误率,设计模型损失函数优化模型迭代次数,根据样本类型训练多个诊断模型;进而,输出概率比较大的几种患者可能患有的疾病;最后,记录错误数据,修正模型,诊断结果具有较高的参考价值和实用价值。
本发明的有益效果主要表现在:
1、采用患者检验结果建立辅助诊断模型,更具有参考价值。
2、本发明按照患者检验种类生成特有的模型训练样本,建立多个辅助诊断模型,很好的降低了冗余度,实用性比较高。
3、采用目前准确率和速度高的xgboost框架建立辅助诊断模型,输出的是患者按照患病概率的排序结果,而不是确定的某种诊断结果,速度快,可信度高。
4、本发明设计了一种针对医疗诊断结果的损失函数,利用损失函数评估模型,不仅能够更好的衡量模型的性能,提高可信度,还可以根据评价函数调整建模迭代次数,以便获得满足要求的最优模型。
5、本发明对xgboost模型进行改进,有效降低模型错误率
6、本发明记录模型错误预测结果,并通过原始样本和错误预测结果不断修正模型,优化模型。
附图说明
图1是基于病人检验结果的辅助疾病诊断方法的流程图。
图2是损失函数示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1和图2,一种基于病人检验结果的辅助疾病诊断方法,病人去医院看病时,为了诊断结果的准确性,有时需要做血常规、尿常规等检验项目,采用病人检测结果建立辅助诊断模型,诊断结果可信度更高。
所述辅助疾病诊断方法包括三大步骤,第一步骤是数据的清洗及样本生成,第二步骤是诊断模型的建立,医疗数据的特征决定了模型与简单的分类预测存在一定的差别;第三步骤是待诊断病人诊断结果输出。
病人检验结果数据与其他领域数据的区别主要表现在:(1)数据维数庞大,信息敏感度高,收集比较困难;(2)各医院之间数据缺乏统一共享机制,所用仪器不同,可能导致检验结果不同;(3)一个病人可能同时患有多种疾病,导致检验结果与单一疾病存在区别容易造成误判;(4)一种疾病需要多种检验结果才能共同确定;(5)同一种检验项目,根据看病需求可能不需要检查全部项目等。
所述辅助疾病诊断方法,步骤如下:
步骤1:数据清洗
要建立辅助诊断模型,必须有大量的样本数据,但是我国临床数据,尤其是乡镇医疗数据存在数据信息缺失,冗余复杂且重复多样等问题。从实际中收集到的样本数据不能直接用于分析处理,需要大量的数据预处理工作,降低数据复杂度。
首先,要确定辅助诊断过程中需要的医疗数据的字段。
要通过检验结果推断病人所患疾病,需要的字段信息有:机构编号(医院唯一标示符,JIGOUBH),样本号(检验样本标示,YANGBENHAO),诊断名称(ZHENDUANMC),检验名称(JIANYANMC),检验结果(JIANYANJG),参考范围(CANKAOFW)等,病人序号作为患者的唯一标识符。
其次,进行数据预处理。
筛选出有用的字段信息后还需要做进一步处理,将数据出现的空值信息,补全或者删除,确保唯一标示符不为空。将数据中存在的重复项删除,确保不存在重复记录。数据结果不符合常规的记录删除,例如检验结果出现负值等,将确诊结果非常少的数据删除,较少的数据诊断结果受样本数据影响很大,剔除后模型输出结果更加可靠。将数据中同一个检验项目对应多种疾病的数据进行处理,将多种疾病合并为一条记录。
步骤2:生成样本数据
从原始数据筛选的字段信息不能满足建模的要求,还需要对数据进行进一步处理,解决各医院之间数据不统一,仪器不同,导致检验结果不同;病人可能同时患有多种疾病;同一种检验项目,根据看病需求可能不需要检查全部项目等问题,最终生成样本数据。
2.1)将参考范围(CANKAOFW)字段拆分
参考范围字段是字符串,无法通过直接比较的方式确定检验结果的异常项和异常程度,需要将参考范围拆分。字符串中有数字类型和汉字等其他类型,将数字类型(例如:0~1)的字段拆分成参考范围最大值(CANKAOFWH)和参考范围最小值(CANKAOFWL)两个字段,CANKAOFW字段为非数字类型时CANKAOFWH,CANKAOFWL两个字段都为空。
2.2)生成检验结果异常标识
病人检验结果生成后,需要确定哪些结果是异常项。本专利中将检验结果按照参考范围进行标定,生成异常标识(YICHANGBZ),YICHANGBZ=0代表检验项目正常,YICHANGBZ=1代表检验项目的检验结果比参考范围高(JIANYANJG>CANKAOFW),YICHANGBZ=2代表检验项目比参考范围低(JIANYANJG<CANKAOFW);
2.3)生成异常量化
生成异常标识后并不能区分异常项超出正常范围的程度,因此超出异常的程度需要得到量化。生成异常量化(YICHANGLH),YICHANGBZ=0,则YICHANGLH=0,检验结果正常;YICHANGBZ=1,则YICHANGLH=JIANYANJG/CANKAOFWH,检验结果高于参考范时,结果越高,YICHANGLH越大。YICHANGBZ=2,则YICHANGLH=-1*(JIANYANJG/CANKAOFWL),检验结果低于参考范围,并且结果越小,YICHANGLH越小。这里将检验结果低于正常值时乘以-1,是为了方便区分异常类型。将参考范围是非数字类型的字段进行特殊处理生成量化结果,生成异常量化后可以有效的消除各医院及仪器之间的数据不统一问题。
2.4)生成样本数据
患者医院检查项目种类相对较多,如果将所有的特征糅合在一起组成样本数据,会产生大量的冗余项,因此本发明在构造样本数据时将样本数据按照检验类别进行分类。每个样本数据是一个数组,数组的第一个数据是检验类别,后面是检验异常量化值按照检验名称字典顺序的输出。
①生成诊断名称编号,将数据中诊断名称按照字典顺序从1开始编号,方便建模的样本数据表示。
②生成检验类别编号,检验类别较多,如果将所有的检验类别的项目均放置于一个样本中,数据维度较大,而且存在很多为0项。将检验类别(DJZ,MYS,NCG,SGX,SHY,TJN,XCG,XLB,XNY)按照字典顺序从1开始编号,例如,DJZ编号为1,NCG编号为3,XNY编号为9。
③采用关联规则算法,查找患者一次就医需要做多项检查的组合项目,按照关联概率依序排序,选取关联度比较高的项目从10开始编号,关联度不是很高的项目直接记为独立的检验项目。可以解决医疗数据中多种检验结果确定一种疾病的问题。处理一种检验结果对应多种疾病的情况,即将多种诊断结果合并。
④生成检验名称项目编号,将每个检验类别按照检验名称字典顺序排序,将异常量化数据依次写入样本数组中,生成一个样本数据,记为x。将对应的诊断名称编号记为y,可以有效解决病人检验项目不全的问题。
⑤获得样本数据X={x1,x2,…},和对应的诊断类别Y={y1,y2,…},将样本中出现的异常点孤立点删除,将Y中出现次数少的样本数据删除,最终生成样本集D={X,Y}共有N个样本数据。
步骤3:建立辅助诊断模型
在数据分析的过程中,我们经常需要对数据建模并预测。boost算法是基于PAC学习理论(probably approximately correct)而建立的一套集成学习算法(ensemblelearning),其根本思想在于通过多个简单的弱分类器,构建出准确率很高的强分类器。本专利作为辅助诊断模型,并不是输出一个绝对的疾病类别,而是对xgboost框架进行改进,预测样本属于每个类别的概率,然后输出提示结果,避免对患者和医护人员造成误导。
本发明根据训练样本的第一维数据区分样本,根据不同类型的样本数据训练多个辅助诊断模型。改进的xgboost在原来框架的基础上加入一个函数的权值,权值的大小根据误差函数来确定,输出结果如公式(1),αk是函数的权值。
xgboost在模型训练过程中,每次保留原模型不变,加入一个新的函数f构成一个弱分类器,每次加入的弱分类器的分类效果不尽相同,这里通过如公式(2)。
t表示算法的迭代次数,表示每一轮迭代的预测模型,预测模型中包含上一轮的预测模型和模型中新加入的函数f,加入f后任然不能满足所有样本正确分类,仍然存在一定的误差,并且每次加入的函数的效果不同,αk是函数的权值,是通过预测完成后分类器的误差决定,预测效果比较好的弱分类器权重大一些,这样可以尽可能的降低分类错误率。需要求解的是每次加入的函数ft(x)=ωq(x),以及权值αk,输入参数包括树的结构q,以及叶子节点的权重ω。要想求得q,ω,一般通过最小化目标函数可以求解,xgboost框架中只要目标函数满足二阶可导就可以求解ft(x)。这样就可以获得每次迭代加入的函数,但是模型什么时候停止迭代以及αk的取值如何确定,一般建模过程中可设定一个迭代次数,最终的模型是最后一次的迭代结果,这就存在最后结果可能并不是最优结果,有些时候不用迭代到设定的值,就可以获得满足需要的模型等问题,本发明设计一种针对医疗数据的模型评价函数,来优化迭代次数,求解弱分类器权值,从而达到优化辅助诊断模型效果。
传统的损失函数如均方误差等,大多数采用分类错误数量与样本总数比值作为衡量模型的基准,对于单个样本而言分类错误时误差为1,否则误差为0。本发明输出的是多种可能疾病并不是唯一确定值,原有的损失函数无法量化多个输出值与样本数据的比对,不能很好的评估模型的性能,对于单个样本数据,本专利采用如公式(3)的损失函数,误差函数并不是二值0或1,但是满足[0,1]的取值范围,既满足误差量化范围又考虑了模型输出多种疾病的概率。
error(0<=error<=1)代表模型存在的误差,n代表确诊疾病在输出结果中排序值,Tn是诊断结果排序的阈值,k可调节误差增长速度,k越大误差增长速度越快。如果n<=Tn,error=0,这Tn种疾病中存在患者确诊的疾病,n越大误差越大,如图2所示,从图中也可以看出误差函数符合辅助诊断模型需求,即:当确诊结果在预测结果中越靠前误差越小,反之误差越大。
整个诊断模型的损失可表示为所有样本数据损失函数值的均值,按照公式(4)计算。如果模型的ERROR<Terror,就可以结束迭代获得最终辅助诊断模型,Terror是满足需求的模型误差值。αk=1-ERRORk,弱分类器的效果越好,所占的比重越大。
步骤4:处理并输入待诊断病人的检验结果。
将病人检测结果按照步骤1和步骤2的方式进行处理,输入到检测模型中。
步骤5:输出模型诊断结果
诊断模型中输出的是病人患病的概率较大的疾病,输出患病概率大于阈值Tp,(0<Tp<1)的疾病,并且按照疾病概率降序排序,阈值Tp可根据实际的数据进行设定,若无满足条件的疾病,则输出不确定提示,并记录数据。
步骤6:修正诊断模型
将预测误差比较大的数据进行记录,当记录数大于阈值TN时,将这些记录数作为测试样本,统计在哪一个弱分类器fi处出现错误较多,从此fi开始重新训练诊断模型,在fi之前的模型参数保持不变,在训练分类器时的样本数据任意选取N/2个数据加上TN个数据作为新的训练样本。TN是模型调整的错误数据记录数的阈值。
实例:一种基于病人检验结果的辅助疾病诊断方法,包括以下步骤:
步骤1:数据清洗
本发明采用实际医疗数据,东丰县医疗数据作为模型建立和测试的样本数据。原始表JYGL_JIANYANDJ共有54个字段,包括流水号,机构编号,样本号,样本来源,病人编号,姓名,性别,年龄,开单医生等等;原始表JYGL_JIANYANJG表共有26个字段,包括流水号,机构编号,样本号,结果等;原始表MZZJ_ZHENDUANXX表,共有20个字段,包括流水号,机构,病人编号,诊断类型,诊断名称等。JYGL_JIANYANDJ表和JYGL_JIANYANJG表通过样本号字段相关联,JYGL_JIANYANDJ表和MZZJ_ZHENDUANXX表通过病人编号字段关联。
首先,要确定辅助诊断算法中需要的医疗数据字段。
要通过检验结果推断病人所患疾病,需要从大量的数据中筛选出有用的字段信息,东丰县医疗数据中包含打印日期,开单医生等很多对于辅助诊断模型无用的数据,建立东丰县医疗数据表,表头信息如下所示,表1为检验结果表,表2为检验登记表。
YANGBENHAO | JIGOUBH | XIANGMUMC | JIANYANJG | CANKAOFW |
样本号 | 机构编号 | 项目名称 | 结果 | 参考范围 |
表1
YANGBENHAO | JIGOUBH | ZHENDUANMC |
样本号 | 机构编号 | 诊断名称 |
表2
其次,进行数据预处理。
JYGL_JIANYANDJ表中共372833条记录,病人编号作为病人唯一标示符,194021行为空值(52%),1114个病人编号对应多位病人,将病人编号为空和重复的数据删除。JYGL_JIANYANJG中有6条记录样本号为空,将样本号为空的数据删除,结果中有1%的数据为空,将结果是空值的样本号删除,参考范围中有25%左右的数据为空,将参考范围为空的数据补全,无法补充的样本号所有数据删除;MZZJ_ZHENDUANXX表诊断名称中有8076条记录为空,将诊断名称为空的记录删除。数据结果不符合常规的记录删除,例如检验结果出现负值等,将确诊结果非常少的数据删除,较少的数据诊断结果受样本数据影响很大,剔除后模型输出结果更加可靠。
步骤2:生成样本数据
2.1)步骤1中生成的表不能直接拿来作为训练模型的输入信息,需要进行进一步的分析处理。将参考范围(cankaofw)字段拆分,生成检验结果异常标识,生成异常量化,最后生成样本数据。经过分析处理表1中多出4个字段,如表3为分析处理得到的检验结果字段。
CANKAOFWL | CANKAOFWH | YICHANGBZ | YICHANGLH |
参考范围最小值 | 参考范围最大值 | 异常标识 | 异常量化 |
表3
其中,表3中CANKAOFW为非数字类型字符串时,CANKAOFWL和CANKAOFWH均为null;否则,CANKAOFW按照字符‘~’进行拆分,CANKAOFWL是拆分字段的最小值,CANKAOFWH是拆分后值的最大值。YICHANGBZ代表检验结果是否正常。YICHANGLH是检验结果超出CANKAOFW的程度,参考范围是数字类型字符串时,YICHANGBZ=1,则YICHANGLH=(JIANYANJG/CANKAOFWH),检验结果高于参考范时,结果越高,YICHANGLH越大。YICHANGBZ=2,则YICHANGLH=-1*(JIANYANJG/CANKAOFWL),检验结果低于参考范围,并且结果越小,YICHANGLH越小。这里将检验结果低于正常值时乘以-1,是为了方便区分异常类型。参考范围是非数字类型字符串时,如果结果字符串与参考范围字符串不同,直接标记为1。
2.2)生成样本数据
本发明在构造样本数据时将样本数据按照检验类别进行分类,每个样本数据是一个数组,数组的第一个数据是检验类别,后面是检验异常量化值按照字典顺序的输出。
①生成诊断名称编号,将诊断名称大类按照字典顺序从1开始编号,方便建模的样本数据表示,部分数据如表4所示。
诊断名称编号 | 1 | 2 | 3 | 4 | … |
诊断名称 | 高血压病 | 泌尿道感染 | 疲劳综合症 | 贫血 | … |
表4
②生成检验类别编号,将检验类别(DJZ,MYS,NCG,SGX,SHY,TJN,XCG,XLB,XNY)按照字典顺序从1开始编号,例如,DJZ编号为1,NCG编号为3,XNY编号为9。采用关联规则算法,查找患者一次就医需要做多项检查的组合项目,按照关联概率依序排序,选取关联度比较高的项目从10开始编号,关联度不是很高的项目直接记为独立的检验项目。可以解决医疗数据中多种检验结果确定一种疾病的问题。
③处理一种检验结果对应多种疾病的情况,即将多种诊断结果合并。如表5所示,表中病人编号为26725的病人做生化检验,诊断为软组织疾患和中暑病,将诊断名称按照字段顺序排序组合为“软组织疾患+中暑病”
BINGRENBH | ZHENDUANMC | YANGBENHAO | XIUGAIRIQI |
26725 | 软组织疾患 | 20150702SHY0269 | 20150702 |
26725 | 中暑病 | 20150702SHY0269 | 20150702 |
表5
④生成检验名称项目编号,将每个检验类别按照检验名称字典顺序排序,将异常量化数据顺序写入样本数组中,生成一个样本数据,记为x。将对应的诊断名称编号记为y。
⑤获得样本数据X={x1,x2,...,xN},和对应的诊断类别Y={y1,y2,...,yN},将样本中出现的异常点孤立点删除,将Y中出现次数少的样本数据删除,最终生成样本集D={X,Y}共有N个样本数据。
步骤3:建立辅助诊断模型
xgboost是大规模并行boosted tree的工具,根本思想在于通过多个简单的弱分类器。本专利作为辅助诊断模型,并不是输出一个绝对的疾病类别,本发明采用softporb作为目标函数预测样本属于每个类别的概率,然后输出提示结果,避免对患者和医护人员造成误导。将样本数据作为训练模型的输入,构建疾病辅助诊断模型。
本发明计算模型损失时选取Tn=3,对于单个样本数据,如果n<=3,error为0,n>3时按照公式(8)计算损失函数。整个模型的损失函数按照公式(9)计算,Terror取值为0.05。
步骤4:输入并处理待诊断病人的检验结果。
步骤5:输出模型诊断结果,并记录错误数据
步骤6:将预测误差比较大的数据进行记录,当记录数大于阈值TN=N/20时,将这些记录数作为测试样本,统计在哪一个弱分类器fi处出现错误较多,从此fi开始重新训练诊断模型,在fi之前的模型参数保持不变,在训练分类器时的样本数据任意选取N/2个数据加上TN个数据作为新的训练样本。
Claims (6)
1.一种基于病人检验结果的辅助疾病诊断方法,其特征在于:包括以下步骤:
步骤1:数据清洗;
步骤2:生成样本数据
步骤3:建立辅助诊断模型:采用改进xgboost框架,设计模型损失函数优化模型迭代次数,根据样本类型训练多个诊断模型;
步骤4:将病人检测结果按照步骤1和步骤2的方式进行处理,输入到检测模型中;
步骤5:输出模型诊断结果
诊断模型中输出患病概率大于阈值Tp,(0<Tp<1)的疾病,并且按照疾病概率降序排序,若无满足条件的疾病,则输出不确定提示,并记录数据。
2.如权利要求1所述的一种基于病人检验结果的辅助疾病诊断方法,其特征在于:所述辅助疾病诊断方法还包括以下步骤:
步骤6:修正诊断模型
将预测误差比较大的数据进行记录,当记录数大于阈值TN时,将这些记录数作为测试样本,统计在哪一个弱分类器fi处出现错误较多,从此fi开始重新训练诊断模型,在fi之前的模型参数保持不变,在训练分类器时的样本数据任意选取N/2个数据加上TN个数据作为新的训练样本,TN是模型调整的错误数据记录数的阈值。
3.如权利要求1或2所述的一种基于病人检验结果的辅助疾病诊断方法,其特征在于:所述步骤1中,数据清洗的过程如下:
首先,确定需要的医疗数据的字段,字段信息有:机构编号、样本号、诊断名称、检验名称、检验结果和参考范围,病人序号作为患者的唯一标识符;
其次,进行数据预处理,筛选出有用的字段信息后,将数据出现的空值信息,补全或者删除,确保唯一标示符不为空;将数据中存在的重复项删除,确保不存在重复记录;数据结果不符合常规的记录删除,将数据中同一个检验项目对应多种疾病的数据进行处理,将多种疾病合并为一条记录。
4.如权利要求3所述的一种基于病人检验结果的辅助疾病诊断方法,其特征在于:所述步骤2中,生成样本数据的过程如下:
2.1)将参考范围字段拆分
参考范围字段是字符串,字符串中有数字类型和汉字等其他类型,将数字类型的字段拆分成参考范围最大值和参考范围最小值两个字段;
2.2)生成检验结果异常标识
将检验结果按照参考范围进行标定,生成异常标识YICHANGBZ,YICHANGBZ=0代表检验项目正常,YICHANGBZ=1代表检验项目的检验结果比参考范围高,YICHANGBZ=2代表检验项目比参考范围低;
2.3)生成异常量化
超出异常的程度需要得到量化,生成异常量化YICHANGLH,YICHANGBZ =0,则YICHANGLH=0,检验结果正常;YICHANGBZ=1,则YICHANGLH=JIANYANJG/CANKAOFWH,检验结果高于参考范时;YICHANGBZ=2,则YICHANGLH=-1*(JIANYANJG/CANKAOFWL),检验结果低于参考范围。
5.如权利要求4所述的一种基于病人检验结果的辅助疾病诊断方法,其特征在于:所述步骤2)中,生成样本数据包括:
①生成诊断名称编号,将数据中诊断名称按照字典顺序从1开始编号;
②生成检验类别编号,将检验类别按照字典顺序从1开始编号;
③采用关联规则算法,查找患者一次就医需要做多项检查的组合项目,按照关联概率依序排序,选取关联度比较高的项目从10开始编号,关联度不是很高的项目直接记为独立的检验项目;
④生成检验名称项目编号,将每个检验类别按照检验名称字典顺序排序,将异常量化数据依次写入样本数组中,生成一个样本数据,记为x,将对应的诊断名称编号记为y;
⑤获得样本数据X={x1,x2,…},和对应的诊断类别Y={y1,y2,…},将样本中出现的异常点孤立点删除,将Y中出现次数少的样本数据删除,最终生成样本集D={X,Y}共有N个样本数据。
6.如权利要求1或2所述的一种基于病人检验结果的辅助疾病诊断方法,其特征在于:所述步骤3中,建立辅助诊断模型的过程如下:
根据训练样本的第一维数据区分样本,根据不同类型的样本数据训练多个辅助诊断模型,函数的权值的大小根据误差函数来确定,输出结果如公式(1),αk是函数的权值:
xgboost在模型训练过程中,每次保留原模型不变,加入一个新的函数f构成一个弱分类器,每次加入的弱分类器的分类效果不尽相同,通过如公式(2):
t表示算法的迭代次数,表示每一轮迭代的预测模型,预测模型中包含上一轮的预测模型和模型中新加入的函数f,加入f后任然不能满足所有样本正确分类,仍然存在一定的误差,并且每次加入的函数的效果不同,αk是函数的权值,是通过预测完成后分类器的误差决定;需要求解的是每次加入的函数ft(x)=ωq(x),以及权值αk,输入参数包括树的结构q,以及叶子节点的权重ω。要想求得q,ω,通过最小化目标函数求解,xgboost框架中只要目标函数满足二阶可导就可以求解;
采用如公式(3)的损失函数,误差函数并不是二值0或1,但是满足[0,1]的取值范围;
error(0<=error<=1)代表模型存在的误差,n代表确诊疾病在输出结果中排序值,Tn是诊断结果排序的阈值,k可调节误差增长速度;如果n<=Tn,error=0;
整个诊断模型的损失表示为所有样本数据损失函数值的均值,按照公式(4)计算,如果模型的ERROR<Terror,就结束迭代获得最终辅助诊断模型,Terror是满足需求的模型误差值,αk=1-ERRORk,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611175972.XA CN107066791A (zh) | 2016-12-19 | 2016-12-19 | 一种基于病人检验结果的辅助疾病诊断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611175972.XA CN107066791A (zh) | 2016-12-19 | 2016-12-19 | 一种基于病人检验结果的辅助疾病诊断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107066791A true CN107066791A (zh) | 2017-08-18 |
Family
ID=59619092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611175972.XA Pending CN107066791A (zh) | 2016-12-19 | 2016-12-19 | 一种基于病人检验结果的辅助疾病诊断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107066791A (zh) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107610779A (zh) * | 2017-10-25 | 2018-01-19 | 医渡云(北京)技术有限公司 | 疾病评价及患病风险评估方法及装置 |
CN107863148A (zh) * | 2017-11-06 | 2018-03-30 | 余帝乾 | 一种基于大数据时代患者就医的方法和装置 |
CN107908819A (zh) * | 2017-10-19 | 2018-04-13 | 深圳和而泰智能控制股份有限公司 | 预测用户状态变化的方法和装置 |
CN108091397A (zh) * | 2018-01-24 | 2018-05-29 | 浙江大学 | 一种基于提升-重采样和特征关联分析的缺血性心脏病患者的出血事件预测方法 |
CN108242266A (zh) * | 2018-01-22 | 2018-07-03 | 北京颐圣智能科技有限公司 | 辅助诊断装置和方法 |
CN108257675A (zh) * | 2018-02-07 | 2018-07-06 | 平安科技(深圳)有限公司 | 慢阻肺发病风险预测方法、服务器及计算机可读存储介质 |
CN108389626A (zh) * | 2018-02-09 | 2018-08-10 | 上海长江科技发展有限公司 | 基于人工智能的脑卒中筛查方法及系统 |
CN108567413A (zh) * | 2018-03-02 | 2018-09-25 | 黑龙江中医药大学 | 一种医院妇科用多功能的疾病检查设备及检查系统 |
CN108630312A (zh) * | 2018-05-11 | 2018-10-09 | 北京诺道认知医学科技有限公司 | 一种高血压诊断规则库自动生成方法及装置 |
CN109086699A (zh) * | 2018-07-20 | 2018-12-25 | 福州大学 | 一种基于XGboost的静态手语识别系统 |
CN109243620A (zh) * | 2018-09-07 | 2019-01-18 | 上海交通大学医学院附属新华医院 | 基于血药浓度监测的药效优化方法及装置 |
CN109241270A (zh) * | 2018-08-07 | 2019-01-18 | 北京诺道认知医学科技有限公司 | 循证医学文献筛选方法及装置 |
CN109378066A (zh) * | 2018-12-20 | 2019-02-22 | 翼健(上海)信息科技有限公司 | 一种基于特征向量实现疾病预测的控制方法及控制装置 |
CN109887589A (zh) * | 2019-02-21 | 2019-06-14 | 吉林禾熙科技开发有限公司 | 人工智能医疗大数据系统 |
CN109993365A (zh) * | 2019-04-02 | 2019-07-09 | 深圳市华云中盛科技有限公司 | 患病概率预测方法、装置、计算机设备及存储介质 |
CN110111886A (zh) * | 2019-05-16 | 2019-08-09 | 闻康集团股份有限公司 | 一种基于XGBoost疾病预测的智能问诊系统及方法 |
TWI680468B (zh) * | 2017-12-18 | 2019-12-21 | 達易特基因科技股份有限公司 | 結合基因檢測之健康管理及諮詢系統 |
CN111020028A (zh) * | 2020-02-21 | 2020-04-17 | 天津医科大学 | 一种基于菌毛抗原基因分布对尿路感染部位进行定位判断的方法 |
CN111180064A (zh) * | 2019-12-25 | 2020-05-19 | 北京亚信数据有限公司 | 一种辅助诊断模型的评测方法、装置及计算设备 |
CN111180063A (zh) * | 2019-12-25 | 2020-05-19 | 北京亚信数据有限公司 | 一种辅助诊断模型效果评测方法、装置及计算设备 |
CN111582496A (zh) * | 2020-04-26 | 2020-08-25 | 暨南大学 | 一种基于sgx的安全高效的深度学习模型预测系统和方法 |
CN112309564A (zh) * | 2019-07-26 | 2021-02-02 | 深圳百诺明医说科技有限公司 | 一种人工智能诊断系统及智能机器人 |
CN112434511A (zh) * | 2020-12-15 | 2021-03-02 | 杭州依图医疗技术有限公司 | 医学数据的处理方法、装置及存储介质 |
CN112635069A (zh) * | 2020-12-14 | 2021-04-09 | 内蒙古卫数数据科技有限公司 | 一种基于常规检验数据的肺结核智能识别方法 |
CN112768082A (zh) * | 2021-02-04 | 2021-05-07 | 常熟和医信息技术有限公司 | 一种根据电子病历文本自动给出疾病诊疗方案的方法 |
CN112907088A (zh) * | 2021-03-03 | 2021-06-04 | 杭州诚智天扬科技有限公司 | 一种清分模型的参数调整方法及系统 |
CN113397509A (zh) * | 2020-03-15 | 2021-09-17 | 英业达科技有限公司 | 动态切换血压测量模型的方法 |
CN113485990A (zh) * | 2021-07-05 | 2021-10-08 | 南昌大学第一附属医院 | 基于输血大数据的多维度智能数据清洗方法及系统 |
CN113539475A (zh) * | 2021-05-14 | 2021-10-22 | 内蒙古卫数数据科技有限公司 | 一种仅使用血常规检验数据的疾病筛查和诊断方法 |
CN113539394A (zh) * | 2020-12-31 | 2021-10-22 | 内蒙古卫数数据科技有限公司 | 一种基于医学检验数据的多病种预测方法 |
CN113782179A (zh) * | 2021-05-14 | 2021-12-10 | 广州市高科通信技术股份有限公司 | 报病信息管理方法、终端以及存储装置 |
CN113921144A (zh) * | 2021-09-23 | 2022-01-11 | 清华大学 | 疾病预测集处理方法、装置、电子设备及存储介质 |
-
2016
- 2016-12-19 CN CN201611175972.XA patent/CN107066791A/zh active Pending
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908819A (zh) * | 2017-10-19 | 2018-04-13 | 深圳和而泰智能控制股份有限公司 | 预测用户状态变化的方法和装置 |
CN107908819B (zh) * | 2017-10-19 | 2021-05-11 | 深圳和而泰智能控制股份有限公司 | 预测用户状态变化的方法和装置 |
CN107610779A (zh) * | 2017-10-25 | 2018-01-19 | 医渡云(北京)技术有限公司 | 疾病评价及患病风险评估方法及装置 |
CN107863148A (zh) * | 2017-11-06 | 2018-03-30 | 余帝乾 | 一种基于大数据时代患者就医的方法和装置 |
TWI680468B (zh) * | 2017-12-18 | 2019-12-21 | 達易特基因科技股份有限公司 | 結合基因檢測之健康管理及諮詢系統 |
CN108242266A (zh) * | 2018-01-22 | 2018-07-03 | 北京颐圣智能科技有限公司 | 辅助诊断装置和方法 |
CN108091397A (zh) * | 2018-01-24 | 2018-05-29 | 浙江大学 | 一种基于提升-重采样和特征关联分析的缺血性心脏病患者的出血事件预测方法 |
CN108257675A (zh) * | 2018-02-07 | 2018-07-06 | 平安科技(深圳)有限公司 | 慢阻肺发病风险预测方法、服务器及计算机可读存储介质 |
CN108389626A (zh) * | 2018-02-09 | 2018-08-10 | 上海长江科技发展有限公司 | 基于人工智能的脑卒中筛查方法及系统 |
CN108567413A (zh) * | 2018-03-02 | 2018-09-25 | 黑龙江中医药大学 | 一种医院妇科用多功能的疾病检查设备及检查系统 |
CN108630312A (zh) * | 2018-05-11 | 2018-10-09 | 北京诺道认知医学科技有限公司 | 一种高血压诊断规则库自动生成方法及装置 |
CN109086699A (zh) * | 2018-07-20 | 2018-12-25 | 福州大学 | 一种基于XGboost的静态手语识别系统 |
CN109241270A (zh) * | 2018-08-07 | 2019-01-18 | 北京诺道认知医学科技有限公司 | 循证医学文献筛选方法及装置 |
CN109241270B (zh) * | 2018-08-07 | 2020-09-01 | 北京大学第三医院 | 循证医学文献筛选方法及装置 |
CN109243620A (zh) * | 2018-09-07 | 2019-01-18 | 上海交通大学医学院附属新华医院 | 基于血药浓度监测的药效优化方法及装置 |
CN109243620B (zh) * | 2018-09-07 | 2020-10-02 | 上海交通大学医学院附属新华医院 | 基于血药浓度监测的药效优化方法及装置 |
CN109378066A (zh) * | 2018-12-20 | 2019-02-22 | 翼健(上海)信息科技有限公司 | 一种基于特征向量实现疾病预测的控制方法及控制装置 |
CN109887589A (zh) * | 2019-02-21 | 2019-06-14 | 吉林禾熙科技开发有限公司 | 人工智能医疗大数据系统 |
CN109993365A (zh) * | 2019-04-02 | 2019-07-09 | 深圳市华云中盛科技有限公司 | 患病概率预测方法、装置、计算机设备及存储介质 |
CN110111886A (zh) * | 2019-05-16 | 2019-08-09 | 闻康集团股份有限公司 | 一种基于XGBoost疾病预测的智能问诊系统及方法 |
CN112309564A (zh) * | 2019-07-26 | 2021-02-02 | 深圳百诺明医说科技有限公司 | 一种人工智能诊断系统及智能机器人 |
CN111180064A (zh) * | 2019-12-25 | 2020-05-19 | 北京亚信数据有限公司 | 一种辅助诊断模型的评测方法、装置及计算设备 |
CN111180063A (zh) * | 2019-12-25 | 2020-05-19 | 北京亚信数据有限公司 | 一种辅助诊断模型效果评测方法、装置及计算设备 |
CN111020028A (zh) * | 2020-02-21 | 2020-04-17 | 天津医科大学 | 一种基于菌毛抗原基因分布对尿路感染部位进行定位判断的方法 |
CN113397509A (zh) * | 2020-03-15 | 2021-09-17 | 英业达科技有限公司 | 动态切换血压测量模型的方法 |
CN113397509B (zh) * | 2020-03-15 | 2023-04-25 | 英业达科技有限公司 | 动态切换血压测量模型的方法 |
CN111582496A (zh) * | 2020-04-26 | 2020-08-25 | 暨南大学 | 一种基于sgx的安全高效的深度学习模型预测系统和方法 |
CN111582496B (zh) * | 2020-04-26 | 2023-05-30 | 暨南大学 | 一种基于sgx的安全高效的深度学习模型预测系统和方法 |
CN112635069A (zh) * | 2020-12-14 | 2021-04-09 | 内蒙古卫数数据科技有限公司 | 一种基于常规检验数据的肺结核智能识别方法 |
CN112434511A (zh) * | 2020-12-15 | 2021-03-02 | 杭州依图医疗技术有限公司 | 医学数据的处理方法、装置及存储介质 |
CN113539394A (zh) * | 2020-12-31 | 2021-10-22 | 内蒙古卫数数据科技有限公司 | 一种基于医学检验数据的多病种预测方法 |
CN112768082A (zh) * | 2021-02-04 | 2021-05-07 | 常熟和医信息技术有限公司 | 一种根据电子病历文本自动给出疾病诊疗方案的方法 |
CN112907088A (zh) * | 2021-03-03 | 2021-06-04 | 杭州诚智天扬科技有限公司 | 一种清分模型的参数调整方法及系统 |
CN112907088B (zh) * | 2021-03-03 | 2024-03-08 | 杭州诚智天扬科技有限公司 | 一种清分模型的参数调整方法及系统 |
CN113539475A (zh) * | 2021-05-14 | 2021-10-22 | 内蒙古卫数数据科技有限公司 | 一种仅使用血常规检验数据的疾病筛查和诊断方法 |
CN113782179A (zh) * | 2021-05-14 | 2021-12-10 | 广州市高科通信技术股份有限公司 | 报病信息管理方法、终端以及存储装置 |
CN113485990A (zh) * | 2021-07-05 | 2021-10-08 | 南昌大学第一附属医院 | 基于输血大数据的多维度智能数据清洗方法及系统 |
CN113921144A (zh) * | 2021-09-23 | 2022-01-11 | 清华大学 | 疾病预测集处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066791A (zh) | 一种基于病人检验结果的辅助疾病诊断方法 | |
CN104915561B (zh) | 疾病特征智能匹配方法 | |
CN112951413B (zh) | 一种基于决策树和改进smote算法的哮喘病诊断系统 | |
CN111951975B (zh) | 一种基于深度学习模型gpt-2的脓毒症早期预警方法 | |
CN109785976A (zh) | 一种基于Soft-Voting的痛风病分期预测系统 | |
CN106919793A (zh) | 一种医疗大数据的数据标准化处理方法及装置 | |
CN106934235A (zh) | 一种基于迁移学习的疾病领域间病人相似性度量迁移系统 | |
CN108717867A (zh) | 基于梯度迭代树的疾病预测模型建立方法及装置 | |
WO2021190300A1 (zh) | Ai慢性肾病风险筛查建模方法、慢性肾病风险筛查方法及系统 | |
CN112541066B (zh) | 基于文本结构化的医技报告检测方法及相关设备 | |
CN111599462B (zh) | 基于认知学习的身体异常气味智能筛查系统 | |
WO2021179514A1 (zh) | 一种基于人工智能的新型冠状病毒患者病况分类系统 | |
CN105868526A (zh) | 基于鲁棒张量保持的儿童社区获得性肺炎数据处理系统及方法 | |
Tobias et al. | CNN-based deep learning model for chest X-ray health classification using tensorflow | |
CN113889219A (zh) | 一种用于慢性阻塞性肺疾病的药物推荐方法及系统 | |
CN111524570B (zh) | 一种基于机器学习的超声随访患者筛选方法 | |
CN111816321A (zh) | 基于法定诊断标准智能识别传染病的系统、设备及存储介质 | |
CN112652391A (zh) | 一种用于识别慢性阻塞性肺疾病急性加重的系统 | |
CN113113152A (zh) | 针对新型冠状病毒肺炎的疾病数据集样本获取处理方法、系统、装置、处理器及其存储介质 | |
CN114188022A (zh) | 一种基于TextCNN模型的临床儿童咳嗽智能预诊断系统 | |
CN113593708A (zh) | 基于集成学习算法的脓毒症预后预测方法 | |
CN111986814A (zh) | 一种红斑狼疮患者的狼疮性肾炎预测模型的建模方法 | |
CN111145902A (zh) | 一种基于改进人工神经网络的哮喘病诊断方法 | |
CN113539412B (zh) | 基于深度学习的中草药推荐系统 | |
CN106951710A (zh) | 基于特权信息学习支持向量机的cap数据系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170818 |