CN116453694A - 基于有放回欠采样集成框架的疾病风险预测方法及*** - Google Patents
基于有放回欠采样集成框架的疾病风险预测方法及*** Download PDFInfo
- Publication number
- CN116453694A CN116453694A CN202310477459.XA CN202310477459A CN116453694A CN 116453694 A CN116453694 A CN 116453694A CN 202310477459 A CN202310477459 A CN 202310477459A CN 116453694 A CN116453694 A CN 116453694A
- Authority
- CN
- China
- Prior art keywords
- prediction
- sub
- algorithm
- data
- training
- 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
- 238000000034 method Methods 0.000 title claims abstract description 74
- 201000010099 disease Diseases 0.000 title claims abstract description 50
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 title claims abstract description 50
- 238000005070 sampling Methods 0.000 title description 13
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 70
- 238000012549 training Methods 0.000 claims abstract description 63
- 230000010354 integration Effects 0.000 claims abstract description 37
- 238000012360 testing method Methods 0.000 claims abstract description 37
- 238000011156 evaluation Methods 0.000 claims abstract description 34
- 238000012216 screening Methods 0.000 claims abstract description 27
- 238000007781 pre-processing Methods 0.000 claims description 16
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000013058 risk prediction model Methods 0.000 claims description 7
- 238000011119 multifactor regression analysis Methods 0.000 claims description 5
- 238000012706 support-vector machine Methods 0.000 claims description 5
- 230000000391 smoking effect Effects 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims 1
- 238000002474 experimental method Methods 0.000 abstract description 3
- 230000002888 effect on disease Effects 0.000 abstract 1
- 206010012601 diabetes mellitus Diseases 0.000 description 8
- 238000003745 diagnosis Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000001746 atrial effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 208000007536 Thrombosis Diseases 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 206010048632 Atrial thrombosis Diseases 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 206010003658 Atrial Fibrillation Diseases 0.000 description 2
- 206010020772 Hypertension Diseases 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- NOESYZHRGYRDHS-UHFFFAOYSA-N insulin Chemical compound N1C(=O)C(NC(=O)C(CCC(N)=O)NC(=O)C(CCC(O)=O)NC(=O)C(C(C)C)NC(=O)C(NC(=O)CN)C(C)CC)CSSCC(C(NC(CO)C(=O)NC(CC(C)C)C(=O)NC(CC=2C=CC(O)=CC=2)C(=O)NC(CCC(N)=O)C(=O)NC(CC(C)C)C(=O)NC(CCC(O)=O)C(=O)NC(CC(N)=O)C(=O)NC(CC=2C=CC(O)=CC=2)C(=O)NC(CSSCC(NC(=O)C(C(C)C)NC(=O)C(CC(C)C)NC(=O)C(CC=2C=CC(O)=CC=2)NC(=O)C(CC(C)C)NC(=O)C(C)NC(=O)C(CCC(O)=O)NC(=O)C(C(C)C)NC(=O)C(CC(C)C)NC(=O)C(CC=2NC=NC=2)NC(=O)C(CO)NC(=O)CNC2=O)C(=O)NCC(=O)NC(CCC(O)=O)C(=O)NC(CCCNC(N)=N)C(=O)NCC(=O)NC(CC=3C=CC=CC=3)C(=O)NC(CC=3C=CC=CC=3)C(=O)NC(CC=3C=CC(O)=CC=3)C(=O)NC(C(C)O)C(=O)N3C(CCC3)C(=O)NC(CCCCN)C(=O)NC(C)C(O)=O)C(=O)NC(CC(N)=O)C(O)=O)=O)NC(=O)C(C(C)CC)NC(=O)C(CO)NC(=O)C(C(C)O)NC(=O)C1CSSCC2NC(=O)C(CC(C)C)NC(=O)C(NC(=O)C(CCC(N)=O)NC(=O)C(CC(N)=O)NC(=O)C(NC(=O)C(N)CC=1C=CC=CC=1)C(C)C)CC1=CN=CN1 NOESYZHRGYRDHS-UHFFFAOYSA-N 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 208000007848 Alcoholism Diseases 0.000 description 1
- BSYNRYMUTXBXSQ-UHFFFAOYSA-N Aspirin Chemical compound CC(=O)OC1=CC=CC=C1C(O)=O BSYNRYMUTXBXSQ-UHFFFAOYSA-N 0.000 description 1
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 102000004877 Insulin Human genes 0.000 description 1
- 108090001061 Insulin Proteins 0.000 description 1
- 229960001138 acetylsalicylic acid Drugs 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000010100 anticoagulation Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 208000029078 coronary artery disease Diseases 0.000 description 1
- 230000001054 cortical effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 229940125396 insulin Drugs 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- PJVWKTKQMONHTI-UHFFFAOYSA-N warfarin Chemical compound OC=1C2=CC=CC=C2OC(=O)C=1C(CC(=O)C)C1=CC=CC=C1 PJVWKTKQMONHTI-UHFFFAOYSA-N 0.000 description 1
- 229960005080 warfarin Drugs 0.000 description 1
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/30—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- 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/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Public Health (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Theoretical Computer Science (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Epidemiology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Pathology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明涉及智能医疗技术领域,具体地指一种基于有放回欠采样集成框架的疾病风险预测方法及***。根据正负样本数采用有放回欠采样生成多个类平衡子数据集,统计各子数据集的重要特征,根据统计结果对预处理后的原始数据集进行特征筛选;再次采用有放回欠采样生成多个类平衡的子训练集和测试集;将子训练集用于训练基础分类器,根据评价指标对基础分类器进行优选,使用不同算法进行集成,并通过最终输出判别得到预测结果。实验表明,本发明方法解决了医疗数据集类不平衡的问题,同时对疾病风险预测有较好表现效果,较单一基础分类器和集成算法,准确率、召回率和F1值均有提升;该方法容易实现,具有现实应用价值。
Description
技术领域
本发明涉及智能医疗以及医疗信息技术领域,具体地指一种基于有放回欠采样集成框架的疾病风险预测方法及***。
背景技术
随着科学技术的迅速发展,各种人工智能算法被广泛应用于与社会生活相关的多个领域,医疗领域也不例外。机器学习是人工智能的一个分支,包含多种算法,它能够自动分析数据中隐藏的规律,并利用该规律对未知数据进行预测,常见算法包括决策树、感知器、支持向量机和聚类等等。将机器学习应用于疾病风险预测,可辅助医生进行诊疗诊断,同时,进行疾病风险预测也可使患者即时发现疾病或进行预防,防止疾病进一步恶化造成不可挽回的损伤。
随着现代医院信息化水平的提高,患者在进行临床就诊时,其背景信息和在医院所进行的各项身体检查指标,都能够以电子化病历的数据形式保存。如一份左心房血栓电子病历,通常会包括:患者基本信息,如姓名、性别、年龄等,患者生活习惯,如吸烟史、是否嗜酒等、患者基础病史,如糖尿病、高血压等,患者相关检查指标,如CHA2DS2-VASc评分、HAS-BLED评分、LVEF等。通过累积这些电子病历进行大数据分析,针对某项疾病进行风险预测,对医学科研乃至家国社会都有积极作用。但目前将机器学习应用于疾病风险预测还没有形成***,针对疾病风险预测的研究都普遍存在以下几个问题:
1)电子化病例还不够普遍。由于目前信息化***并未在各级医疗单位进行普及,仍有部分患者病例存储于手写文本,且没有进行***化保存,这部分的病例无法直接用于机器学习,因此对于格式、质量达标病例样本的获取仍是目前亟需解决的问题之一。
2)确诊的病例较少,导致获取到的数据集正负样本严重不平衡。针对样本类不平衡的问题,常见的解决办法有过采样和欠采样,过采样是指针对少样本类进行简单复制或生成新的数据样本参与训练,但容易使类少的样本出现过拟合或者构造出新的非真实样本;而欠采样则是针对类多样本进行筛选参与训练,但是对类多的样本并不能够充分利用。具体使用哪种方式需根据数据集的类比例具体确定,找到有效且合适的方法是目前疾病预测的工作之一。
3)获得的数据集特征数量太多,进行模型训练会影响模型的表现效果。为减少多余特征对模型效果的影响,目前常用皮尔逊相关系数、主成分分析或Logistic多因素回归分析等多种方式进行特征筛选,但在具体应用时需考虑筛选后余下的特征对模型及其预测结果的影响。
4)预测精度的提高。目前由于不同数据集的质量不相同,同一种方法针对不同疾病进行风险预测会有不同的表现效果,提高模型预测精度也是目前的研究重点。
发明内容
本发明针对目前大多数医疗数据集存在的特征冗余和类不平衡问题,提出了一种基于有放回欠采样集成框架的疾病风险预测方法及***,能够对原始数据集进行特征筛选并解决类不平衡的问题,可以对大部分疾病进行有效风险预测,辅助医生进行诊疗诊断,使患者及时发现疾病或进行预防,防止疾病进一步恶化造成不可挽回的损伤。
本发明所设计的一种基于有放回欠采样集成框架的疾病风险预测方法,其特殊之处在于,包括以下步骤:
步骤一:获取原始数据集,其中,数据集中的每一个样本为患者的真实临床数据,根据各患者是否患病对样本进行正负标注,并对该真实临床数据进行预处理;
步骤二:将步骤一预处理过的数据集进行正负样本统计,采用有放回欠采样方法生成多个子数据集,每个子数据集正负样本数量相同,并对子数据集进行特征重要性排序与统计,根据统计结果对预处理后的数据集进行特征筛选;
步骤三:将特征筛选后的数据集再次进行有放回欠采样生成多个子训练集和测试集,使子训练集和测试集的正负样本同比例,同时单个子训练集和测试集的样本比例为9:1;
其中,步骤二和步骤三中有放回欠采样方法指保留类少的所有样本,对类多的样本进行有放回随机欠采样;
步骤四:将步骤三获得的每个子训练集均用于训练基础分类器,所述基础分类器有若干个,算法均采用XGBoost算法,对每个基础分类器进行模型评估,保留表现效果好的分类器;
步骤五:将保留的模型进行集成,对集成算法得到的预测结果进行最终输出判别,获得性能最优的疾病风险预测模型。
优选地,步骤一获取的原始医疗数据集,包括:患者基本信息,患者生活习惯,是否吸烟酗酒,患者基础病史和患者相关检查指标。
优选地,步骤一对真实临床数据进行预处理,包括数据清洗,去除原始数据集中的异常值、空缺值和不相关数据。
优选地,所述步骤二中对子数据集进行特征重要性排序与统计采用Logistic多因素回归分析方法。
优选地,步骤四评估和步骤五中输出判别的指标有准确率accuracy、精确率precision、召回率recall和F1值;F1值同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡;其相应计算方式如下式所示;
其中,TP表示将正类预测为正类数,TN表示将负类预测为负类数,FP表示将负类预测为正类数,FN表示将正类预测为负类数。
优选地,步骤五中采用四种集成算法,分别为:XGBoost算法、朴素贝叶斯算法、支持向量机算法和加权法,集成方式为将步骤三优选出的各个分类器的输出,作为上述算法的输入,由此进行集成预测。
优选地,对集成算法得到的预测结果进行最终输出判别,具体为:
若有预测结果为有风险,则最终模型输出为判定有风险;若所有集成算法预测结果均为无风险,则最终模型输出为判定无风险;最终模型预测的函数表示如下:
其中,result表示最终模型的风险预测,EAn(n=1,2,3,4)表示第n个集成模型的预测结果,取值为0或1。
基于同一发明构思,本方案还是公开了一种基于有放回欠采样集成框架的疾病风险预测***,包括:
数据预处理模块,对患者真实临床数据集构成的样本进行预处理;
特征筛选模块,将数据预处理模块预处理过的数据集进行正负样本统计,采用有放回欠采样方法生成多个子数据集,每个子数据集正负样本数量相同,并对子数据集进行特征重要性排序与统计,根据统计结果对预处理后的数据集进行特征筛选;
训练集和测试集生成模块,将特征筛选后的数据集再次进行有放回欠采样生成多个子训练集和测试集,子训练集和测试集的正负样本同比例,同时单个子训练集和测试集的样本比例为9:1;
其中,特征筛选模块和训练集和测试集生成模块中有放回欠采样方法指保留类少的所有样本,对类多的样本进行有放回随机欠采样;
基础分类器选择模块,包括若干基础分类器,将训练集和测试集生成模块获得的每个子训练集均用于训练基础分类器,训练的迭代次数通常为50,算法均采用XGBoost算法,对每个基础分类器进行模型评估,保留表现效果好的分类器,主要评价指标为准确率和召回率,优选分类器通常保留4-8个;
疾病风险预测模块,将基础分类器选择模块中保留的分类器进行集成,对集成算法得到的预测结果进行最终输出判别,获得性能最优的疾病风险预测模型。
基于同一发明构思,本方案还公开了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现基于有放回欠采样集成框架的疾病风险预测方法。
基于同一发明构思,本方案还公开了一种计算机可读介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现基于有放回欠采样集成框架的疾病风险预测方法。
本发明的优点在于:
1、针对医疗数据集样本类别严重失衡的问题,本发明采用了有放回欠采样方法生成子训练集,不同于直接应用欠采样方法,有放回欠采样能够使类多的样本得到充分应用,同时使生成的子训练集正负样本类数目相等,避免由类不平衡对分类器构建产生影响。
2、针对数据集特征冗余问题,在进行特征筛选时考虑到后续子训练集的生成过程,为使保留的特征更具代表性,同样采用有放回欠采样生成多个类平衡的子数据集,再对每个子数据集的特征重要性进行排序与统计,根据统计结果对预处理后的数据进行特征筛选,可有效降低特征维度,避免由于特征维度过多使后续预测模型表现效果差。
3、为提高模型预测准确率,本发明将不同子训练集训练得到的基础分类器根据评价指标进行模型评估,对表现效果更优的基础分类器进行优选,用于后续模型的集成。
4、为减少确诊病例被漏诊的错误预测情况,本发明在保证准确率一定的前提下,将不同集成算法得到的预测结果进行最终输出判别,提高了模型的召回率。
附图说明
图1是本发明方法的整体流程图。
图2是本发明方法进行基础分类器优选的流程图。
图3是本发明方法的模型框架图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方法,本发明左心房血栓风险预测和糖尿病风险预测作为实施例,结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
实施例一
参见图1-图3,本发明的一种基于有放回欠采样集成框架的疾病风险预测方法用于左心房血栓风险预测,各实施例步骤如下:
步骤1、获取原始数据及预处理。
步骤1.1、原始数据集共获取35979例患者数据,其中患有左心房血栓的患者数目为1467,没有确诊的患者数目为34512,样本正负比例为1:23.5,除去是否患有左心房血栓以外还包含如年龄、性别、房颤类型、是否吸烟等44个特征。
步骤1.2、对原始数据进行预处理,剔除不相关、重复及数据缺失较多的特征,对异常值、空缺值进行处理,最终剩下32个特征。
步骤1.3、左心房血栓患者病例数占总病例数4.08%,如果直接用该数据集进行模型构建,将预测结果全部预测为0,可达到95.92%的准确率,但由此构建的模型并无现实应用价值,所以后续实验有必要进行类平衡处理。
步骤2、对数据集进行特征筛选。
步骤2.1、采用有放回欠采样生成多个子数据集。该数据集样本类别严重失衡,采用有放回欠采样方法,对类多样本进行有放回随机采样生成多个子数据集用于特征重要性统计,保证正负样本的比例为1:1。在随机采样时,调用imblearn.under_sampling库中的函数RandomUnderSampler。
步骤2.2、统计各个子数据集的重要特征,使选择的特征更具有代表性。采用Logistic多因素回归分析的方法,将每个子数据集进行特征权重排序,并统计排序前8的特征出现次数,保留统计次数最多的6个特征重新组成数据集,用于后续模型训练与测试。经过统计筛选后的6个特征分别为:院前抗凝、院前华法林、房颤类型、左心房直径、中风和HAS-BLED评分。
步骤2.3、保留预处理后的数据集中的重要特征,去掉其它冗余特征。特征筛选后的数据集中,正样本数为1467,负样本数为34512,保留特征6个。
步骤3、生成子训练集和测试集。
步骤3.1、随机采样生成测试集。本实施例将训练集和测试集的比例划分为9:1,在正样本集中随机选取10%的数据,再在负样本集中随机选取等数样本,共同组成测试集。
步骤3.2、有放回欠采样方法生成子训练集。将测试集的样本剔出,在剩余的负样本集中进行多次有放回欠采样,与剩余的正样本共同组成子训练集,同时使子训练集的正负样本比例为1:1。该种方式可以使类多的样本尽可能多的被利用,并且能够生成多个子训练集用于训练基础分类器。
步骤4、基础分类器训练与评估。
步骤4.1、所有基础分类器的训练均采用XGBoost算法。XGBoost是一个优化的分布式梯度增强库,是对梯度提升算法的改进,提供并行树提升,可以快速准确地解决许多数据科学问题。在本实施例中,使用Python编程,调用xgboost库中的XGBClassifier函数,参数保持默认。
步骤4.2、对各个基础分类器进行模型评估与优选。
步骤4.2.1、模型评价指标有准确率accuracy、精确率precision、召回率recall和F1值。准确率能够判断总的正确率,但是在样本不均衡的情况下,并不能作为很好的指标来衡量结果;精确率又被称为查准率,代表正样本在结果中的预测准确程度;召回率也被称为查全率,表示在实际为正的样本中被预测为正样本的概率;由于精确率和召回率这两项指标是一对矛盾体,为对这二者进行调和参考,F1值同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡;各指标相应计算方式如下式所示;
其中,TP表示将正类预测为正类数,TN表示将负类预测为负类数,FP表示将负类预测为正类数,FN表示将正类预测为负类数。
步骤4.2.2、利用以上4种评价指标,对步骤4.1获得的基础分类器进行模型评估,最终保留经过优选的5个基础分类器。基础分类器的优选流程图如图2所示,优选基础分类器评估结果如表1所示:
表1优选基础分类器模型评估
由表1可以看到,大多数基础分类器的预测精确率均能达到0.68以上,但召回率却仅有分类器C5达到0.68,其它分类器的召回率都偏低。在进行模型评估时,所构建的模型是针对左心房血栓的风险预测,因而模型评价指标需关注确诊样本的预测质量,尽可能减少确诊样本被漏诊的可能性,而召回率是表示样本中确定患有左心房血栓的病例被预估准确的比例,因此在进行疾病风险模型评估时,保证选取的模型具有较好的准确率,需同时重点关注召回率这项评价指标。
步骤5、优选分类器集成与最终输出判别。
步骤5.1、优选分类器集成。
步骤5.1.1、针对疾病风险预测模型,为提高预测准确率,对步骤4.2.2优选出来的基础分类器采用四种不同的算法进行集成,用于集成的算法有:XGBoost算法、朴素贝叶斯算法、支持向量机算法和加权算法。
步骤5.1.2、对集成模型进行比较,其评估结果如表2所示:
表2不同集成算法模型评估
对比表1和表2,经过集成算法,模型的准确率和精确率整体上得到一定的提高,但召回率和F1值反而出现下降情况。因此,集成算法可以提高模型的预测准确率。
步骤5.2、最终输出判别。
步骤5.2.1、为减少确诊样本被漏报的可能性,将步骤5.1使用的集成算法进行最终输出判别,使模型的召回率得到提高。具体做法是,在上述集成算法的预测结果中,若有算法预测结果为有风险,则最终模型输出为判定有风险;若所有算法预测结果均为无风险,则最终模型输出为判定无风险;最终模型预测的函数表示如下:
其中,result表示最终模型的风险预测,EAn(n=1,2,3,4)表示第n个集成算法的预测结果,取值为0或1。
步骤5.2.2、经过基础分类器优选、分类器集成和最终输出判别得到本发明方法的最终模型,其框架如图3所示,其测试集的表现效果如表3所示:
表3左心房血栓风险预测最终模型评估
对比表1、表2和表3,可以发现,最终模型较之前单个的基础分类器和各集成算法的预测输出,准确率、召回率和F1值都得到提升,精确率也达到0.68以上,其中召回率的提升最为明显。
实施例二
本发明的一种基于有放回欠采样集成框架的疾病风险预测方法用于糖尿病风险预测。
步骤1、获取原始数据及预处理。
步骤1.1、原始数据集共获取22547例患者数据,其中患有糖尿病的患者数目为3099,没有确诊的患者数目为19448,样本正负比例为1:6.3,除去是否患有糖尿病以外还包含如年龄、BMI、静息心率、是否服用阿司匹林等54个特征。
步骤1.2、对原始数据进行预处理,剔除不相关、重复及数据缺失较多的特征,对异常值、空缺值进行处理,最终剩下38个特征。
步骤1.3、糖尿病患者病例数占总病例数13.74%,如果直接用该数据集进行模型构建,将预测结果全部预测为0,可达到86.26%的准确率,但由此构建的模型并无现实应用价值,所以后续实验有必要进行类平衡处理。
步骤2、对数据集进行特征筛选。
步骤2.1、采用有放回欠采样生成多个子数据集。该数据集样本类别严重失衡,采用有放回欠采样方法,对类多样本进行有放回随机采样生成多个子数据集用于特征重要性统计,保证正负样本的比例为1:1。在随机采样时,调用imblearn.under_sampling库中的函数RandomUnderSampler。
步骤2.2、统计各个子数据集的重要特征,使选择的特征更具有代表性。采用Logistic多因素回归分析的方法,将每个子数据集进行特征权重排序,并统计排序前8的特征出现次数,保留统计次数最多的6个特征重新组成数据集,用于后续模型训练与测试。经过统计筛选后的6个特征分别为:胰岛素水平、血糖、皮质厚度、BMI、冠状动脉疾病和高血压。
步骤2.3、保留预处理后的数据集中的重要特征,去掉其它冗余特征。特征筛选后的数据集中,正样本数为3099,负样本数为19448,保留特征6个。
步骤3、生成子训练集和测试集。
步骤3.1、随机采样生成测试集。本实施例将训练集和测试集的比例划分为9:1,在正样本集中随机选取10%的数据,再在负样本集(类多样本集)中随机选取等数样本,共同组成测试集。
步骤3.2、有放回欠采样方法生成子训练集。将测试集的样本剔出,在剩余的负样本集中进行多次有放回欠采样,与剩余的正样本共同组成子训练集,同时使子训练集的正负样本比例为1:1。该种方式可以使类多的样本尽可能多的被利用,并且能够生成多个子训练集用于训练基础分类器。
步骤4、基础分类器训练与评估。
步骤4.1、所有基础分类器的训练均采用XGBoost算法。在本实施例中,使用Python编程,调用xgboost库中的XGBClassifier函数,参数保持默认。
步骤4.2、对各个基础分类器进行模型评估与优选。
利用准确率、精确率、召回率和F1值这4项评价指标,对步骤4.1获得的基础分类器进行模型评估,最终保留经过优选的5个基础分类器。基础分类器的优选流程如图2所示,优选基础分类器评估结果如表4所示:
表4优选基础分类器模型评估
由表4可以看到,大多数基础分类器的预测精确率均能达到0.77以上,但召回率却仅有分类器C5达到0.77,其它分类器的召回率都偏低。在进行模型评估时,所构建的模型是针对糖尿病的风险预测,因而模型评价指标需关注确诊样本的预测质量,尽可能减少确诊样本被漏诊的可能性,而召回率是表示样本中确定患有糖尿病的病例被预估准确的比例,因此在进行疾病风险模型评估时,保证选取的模型具有较好的准确率,需同时重点关注召回率这项评价指标。
步骤5、优选分类器集成与最终输出判别。
步骤5.1、优选分类器集成。
步骤5.1.1、针对疾病风险预测模型,为提高预测准确率,对步骤4.2优选出来的基础分类器采用四种不同的算法进行集成,用于集成的算法有:XGBoost算法、朴素贝叶斯算法、支持向量机算法和加权算法。
步骤5.1.2、对集成模型进行比较,其评估结果如表5所示:
表5不同集成算法模型评估
对比表4和表5,经过集成算法,模型的各项指标均得到一定的提高,说明集成算法可以提升模型效果。
步骤5.2、最终输出判别。
步骤5.2.1、为减少确诊样本被漏报的可能性,将步骤5.1使用的集成算法进行最终输出判别,使模型的召回率得到提高。具体做法是,在上述集成算法的预测结果中,若有算法预测结果为有风险,则最终模型输出为判定有风险;若所有算法预测结果均为无风险,则最终模型输出为判定无风险;最终模型预测的函数表示如下:
其中,result表示最终模型的风险预测,EAn(n=1,2,3,4)表示第n个集成算法的预测结果,取值为0或1。
步骤5.2.2、经过基础分类器优选、分类器集成和最终输出判别得到本发明方法的最终模型,其框架如图3所示,其测试集的表现效果如表6所示:
表6糖尿病风险预测最终模型评估
对比表4、表5和表6,可以发现,最终模型较之前单个的基础分类器和各集成算法的预测输出,准确率、召回率和F1值都得到提升,精确率也达到0.81以上,其中召回率的提升最为明显。
上述两个实施例证明了本发明方法能够解决医疗数据集严重类不平衡问题和特征冗余问题,同时本方法能够应用于疾病风险预测,减少确诊样本被错误预测的可能性,具有现实应用价值。
实施例三
基于同一发明构思,本方案还涉及一种基于有放回欠采样集成框架的疾病风险预测***,包括:
数据预处理模块,对患者真实临床数据集构成的样本进行预处理;
特征筛选模块,将数据预处理模块预处理过的数据集进行正负样本统计,采用有放回欠采样方法生成多个子数据集,每个子数据集正负样本数量相同,并对子数据集进行特征重要性排序与统计,根据统计结果对预处理后的数据集进行特征筛选;
训练集和测试集生成模块,将特征筛选后的数据集再次进行有放回欠采样生成多个子训练集和测试集,子训练集和测试集的正负样本同比例,同时单个子训练集和测试集的样本比例为9:1;
其中,特征筛选模块和训练集和测试集生成模块中有放回欠采样方法指保留类少的所有样本,对类多的样本进行有放回随机欠采样;
基础分类器选择模块,包括若干基础分类器,将训练集和测试集生成模块获得的每个子训练集均用于训练基础分类器,算法均采用XGBoost算法,对每个基础分类器进行模型评估,保留表现效果好的分类器;
疾病风险预测模块,将基础分类器选择模块中保留的分类器进行集成,对集成算法得到的预测结果进行最终输出判别,获得性能最优的疾病风险预测模型。
由于本发明实施例三所介绍的***为实施本发明实施例一种基于有放回欠采样集成框架的疾病风险预测方法所采用的***,故而基于本发明实施例一介绍的方法,本领域所属技术人员能够了解该***的具体操作过程,故而在此不再赘述。
实施例四
基于同一发明构思,本发明还提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现实施例一中所述的方法。
由于本发明实施例一所介绍的设备为实施本发明实施例一种基于有放回欠采样集成框架的疾病风险预测方法所采用的电子设备,故而基于本发明实施例一介绍的方法,本领域所属技术人员能够了解该电子设备的具体结构及变形,在此不再赘述。凡是本发明实施例一的方法所采用的电子设备都属于本发明所欲保护的范围。
实施例五
基于同一发明构思,本发明还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例一中所述的方法。
由于本发明实施例四所介绍的设备为实施本发明实施例一种基于有放回欠采样集成框架的疾病风险预测方法所采用的计算机可读介质,故而基于本发明实施例一介绍的方法,本领域所属技术人员能够了解该电子设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一种方法所采用的电子设备都属于本发明所欲保护的范围。
本文中所描述的具体实施例仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做出的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (10)
1.一种基于有放回欠采样集成框架的疾病风险预测方法,其特征在于,包括以下步骤:
步骤一:获取原始数据集,其中,数据集中的每一个样本为患者的真实临床数据,根据各患者是否患病对样本进行正负标注,并对该真实临床数据进行预处理;
步骤二:将步骤一预处理过的数据集进行正负样本统计,采用有放回欠采样方法生成多个子数据集,每个子数据集正负样本数量相同,并对子数据集进行特征重要性排序与统计,根据统计结果对预处理后的数据集进行特征筛选;
步骤三:将特征筛选后的数据集再次进行有放回欠采样生成多个子训练集和测试集,使子训练集和测试集的正负样本同比例;
其中,步骤二和步骤三中有放回欠采样方法指保留类少的所有样本,对类多的样本进行有放回随机欠采样;
步骤四:将步骤三获得的每个子训练集均用于训练基础分类器,所述基础分类器有若干个,算法均采用XGBoost算法,对每个基础分类器进行模型评估,保留表现效果好的分类器;
步骤五:将保留的模型进行集成,对集成算法得到的预测结果进行最终输出判别,获得性能最优的疾病风险预测模型。
2.根据权利要求1所述的基于有放回欠采样集成框架的疾病风险预测方法,其特征在于:
步骤一获取的原始医疗数据集,包括:患者基本信息,患者生活习惯,是否吸烟酗酒,患者基础病史和患者相关检查指标。
3.根据权利要求1所述的基于有放回欠采样集成框架的疾病风险预测方法,其特征在于:
步骤一对真实临床数据进行预处理,包括数据清洗,去除原始数据集中的异常值、空缺值和不相关数据。
4.根据权利要求1所述的基于有放回欠采样集成框架的疾病风险预测方法,其特征在于:
所述步骤二中对子数据集进行特征重要性排序与统计采用Logistic多因素回归分析方法。
5.根据权利要求1所述的基于有放回欠采样集成框架的疾病风险预测方法,其特征在于:步骤四评估和步骤五中输出判别的指标有准确率accuracy、精确率precision、召回率recall和F1值;F1值同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡;其相应计算方式如下式所示;
其中,TP表示将正类预测为正类数,TN表示将负类预测为负类数,FP表示将负类预测为正类数,FN表示将正类预测为负类数。
6.根据权利要求1所述的基于有放回欠采样集成框架的疾病风险预测方法,其特征在于:步骤五中采用四种集成算法,分别为:XGBoost算法、朴素贝叶斯算法、支持向量机算法和加权法,集成方式为将步骤三优选出的各个分类器的输出,作为上述算法的输入,由此进行集成预测。
7.根据权利要求1所述的基于有放回欠采样集成框架的疾病风险预测方法,其特征在:对集成算法得到的预测结果进行最终输出判别,具体为:
若有预测结果为有风险,则最终模型输出为判定有风险;若所有集成算法预测结果均为无风险,则最终模型输出为判定无风险;最终模型预测的函数表示如下:
其中,result表示最终模型的风险预测,EAn(n=1,2,3,4)表示第n个集成模型的预测结果,取值为0或1。
8.一种基于有放回欠采样集成框架的疾病风险预测***,其特征在于:
数据预处理模块,对患者真实临床数据集构成的样本进行预处理;
特征筛选模块,将数据预处理模块预处理过的数据集进行正负样本统计,采用有放回欠采样方法生成多个子数据集,每个子数据集正负样本数量相同,并对子数据集进行特征重要性排序与统计,根据统计结果对预处理后的数据集进行特征筛选;
训练集和测试集生成模块,将特征筛选后的数据集再次进行有放回欠采样生成多个子训练集和测试集,子训练集和测试集的正负样本同比例;
其中,特征筛选模块和训练集和测试集生成模块中有放回欠采样方法指保留类少的所有样本,对类多的样本进行有放回随机欠采样;
基础分类器选择模块,包括若干基础分类器,将训练集和测试集生成模块获得的每个子训练集均用于训练基础分类器,算法均采用XGBoost算法,对每个基础分类器进行模型评估,保留表现效果好的分类器;
疾病风险预测模块,将基础分类器选择模块中保留的分类器进行集成,对集成算法得到的预测结果进行最终输出判别,获得性能最优的疾病风险预测模型。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求1-7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310477459.XA CN116453694A (zh) | 2023-04-28 | 2023-04-28 | 基于有放回欠采样集成框架的疾病风险预测方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310477459.XA CN116453694A (zh) | 2023-04-28 | 2023-04-28 | 基于有放回欠采样集成框架的疾病风险预测方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116453694A true CN116453694A (zh) | 2023-07-18 |
Family
ID=87125535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310477459.XA Pending CN116453694A (zh) | 2023-04-28 | 2023-04-28 | 基于有放回欠采样集成框架的疾病风险预测方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116453694A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117894473A (zh) * | 2024-01-16 | 2024-04-16 | 上海交通大学医学院附属新华医院 | 一种自适应集成学习模型的出院准备评估方法及*** |
-
2023
- 2023-04-28 CN CN202310477459.XA patent/CN116453694A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117894473A (zh) * | 2024-01-16 | 2024-04-16 | 上海交通大学医学院附属新华医院 | 一种自适应集成学习模型的出院准备评估方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sk et al. | Coronary Heart Disease Prediction and Classification using Hybrid Machine Learning Algorithms | |
CN112786204A (zh) | 一种机器学习糖尿病发病风险预测方法及应用 | |
US20180211727A1 (en) | Automated Evidence Based Identification of Medical Conditions and Evaluation of Health and Financial Benefits Of Health Management Intervention Programs | |
Aslam et al. | Predictive analysis on severity of non-alcoholic fatty liver disease (nafld) using machine learning algorithms | |
CN111553478B (zh) | 基于大数据的社区老年人心血管疾病预测***与方法 | |
CN112786203A (zh) | 一种机器学习糖尿病视网膜病变发病风险预测方法及应用 | |
CN111951965B (zh) | 基于时序知识图谱的全景式健康动态监测与预测*** | |
CN112967803A (zh) | 基于集成模型的急诊患者早期死亡率预测方法及*** | |
CN115602325A (zh) | 一种基于多模型算法的慢性病风险评估方法及其*** | |
CN112052874B (zh) | 一种基于生成对抗网络的生理数据分类方法及*** | |
CN116453694A (zh) | 基于有放回欠采样集成框架的疾病风险预测方法及*** | |
CN113128654A (zh) | 一种用于冠心病预诊断中的改进型随机森林模型及其预诊断*** | |
Jana et al. | Diabetes prediction using machine learning algorithms | |
Samet et al. | Diabetes mellitus early stage risk prediction using machine learning algorithms | |
CN117238522A (zh) | 一种非布司他的疗效预测***、设备及介质 | |
Hassani et al. | An approach of predicting heart disease using a hybrid neural network and decision tree | |
Kavya et al. | Heart Disease Prediction Using Logistic Regression | |
CN114550910A (zh) | 基于人工智能的射血分数保留型心衰诊断及分型*** | |
Amini et al. | A Hybrid AI Framework to Address the Issue of Frequent Missing Values with Application in EHR Systems: the Case of Parkinson’s Disease | |
Panigrahy et al. | Predictive Modelling of Diabetes Complications: Insights from Binary Classifier on Chronic Diabetic Mellitus | |
Meriwani | Enhancing Deep Neural Network Perforamnce on Small Datasets by the using Deep Autoencoder | |
CN117893528B (zh) | 一种心脑血管疾病分类模型的构建方法及装置 | |
Firoz et al. | Detection of myocardial infarction using hybrid CNN-LSTM model | |
Farooq et al. | Review of Predictive Analytics of Heart Disease through Machine Learning Techniques | |
Nrisimha et al. | Detection of Diabetes in Pregnant Ladies Using ANN |
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 |