CN111834010B - 一种基于属性约简和XGBoost的病毒检测假阴性识别方法 - Google Patents
一种基于属性约简和XGBoost的病毒检测假阴性识别方法 Download PDFInfo
- Publication number
- CN111834010B CN111834010B CN202010451499.3A CN202010451499A CN111834010B CN 111834010 B CN111834010 B CN 111834010B CN 202010451499 A CN202010451499 A CN 202010451499A CN 111834010 B CN111834010 B CN 111834010B
- Authority
- CN
- China
- Prior art keywords
- data
- xgboost
- virus
- model
- evaluation model
- 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.)
- Active
Links
- 241000700605 Viruses Species 0.000 title claims abstract description 63
- 238000001514 detection method Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000009467 reduction Effects 0.000 title claims abstract description 23
- 238000012549 training Methods 0.000 claims abstract description 38
- 238000013210 evaluation model Methods 0.000 claims abstract description 27
- 238000003745 diagnosis Methods 0.000 claims abstract description 25
- 238000005457 optimization Methods 0.000 claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 15
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 13
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 238000012216 screening Methods 0.000 claims abstract description 9
- 230000002708 enhancing effect Effects 0.000 claims abstract description 4
- 230000000694 effects Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 9
- 238000004088 simulation Methods 0.000 claims description 5
- 238000002790 cross-validation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 7
- 238000010801 machine learning Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 238000007477 logistic regression Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 210000004072 lung Anatomy 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000013256 Gubra-Amylin NASH model Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011157 data evaluation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion 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
- 230000002349 favourable effect Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000005180 public health Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 239000000725 suspension Substances 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Public Health (AREA)
- Databases & Information Systems (AREA)
- Epidemiology (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Theoretical Computer Science (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
本发明公开了一种基于属性约简和XGBoost的病毒检测假阴性识别方法,包括如下步骤:S1、获取病毒病例样本数据并进行预处理及数据增强;S2、属性约简,降低数据维度,并将样本数据划分为训练集和测试集;S3、使用XGBoost提升树可扩展系统对病毒检测核心指标进行重要度筛选;S4、利用训练集中的数据对XGboost算法评估模型进行训练,建立评估模型;S5、利用评估模型对病例数据进行预测。本发明基于属性约简和XGBoost的病毒检测假阴性识别方法,应用机器学习模型的病毒病例数据预处理及其检测病毒其假阴性识别方法,可以直接处理小样本和不平衡病毒病例数据,通过MDGO优化XGBoost模型参数,提升检测诊断识别准确率,快速形成诊断报告、确定诊断结果。
Description
技术领域
本发明涉及病毒病例检测诊断领域,尤其是涉及一种基于属性约简和XGBoost的病毒检测假阴性识别方法。
背景技术
对病毒的检测越来越受到关注,病毒检测结合血检、肺部CT等方法成为该病毒诊断的主要手段,但是,部分病例病毒检测前后结果不一致,或者检测呈现假阴性的情况,使得检测结果仍存在一定的不稳定性,同时,病例确诊评估指标体系不够完善,针对大量的检测结果,及时快速的形成诊断报告和确定诊断结果仍然需要耗费大量的人力和时间,给病毒精准快速检测带来影响,也增加了治疗和防控的风险。
发明内容
为了解决上述问题,本发明提供一种基于属性约简和XGBoost的病毒检测假阴性识别方法,能对病毒病例检测数据进行数据预处理和属性约简,迅速获取准确的诊断结果,并提升病毒检测假阴性识别率。
本发明为了实现上述目的具体采用以下技术方案:
一种基于属性约简和XGBoost的病毒检测假阴性识别方法,包括如下步骤:
S1、获取病毒病例样本数据并进行预处理及数据增强;
S2、对经步骤S1处理后的样本数据进行属性约简,降低数据维度,并将样本数据划分为训练集和测试集;
S3、使用XGBoost提升树可扩展系统对病毒检测核心指标进行重要度筛选;
S4、利用训练集中的数据对XGboost算法评估模型进行训练,建立评估模型;并将测试集的数据代入评估模型进行识别诊断,验证评估模型效果;
S5、利用评估模型对病例数据进行预测。
更进一步地,所述步骤S1中的数据预处理包括:
缺失数据处理:对于数值型缺失数据采用均值法补齐,对于字符型缺失数据采用空白值填充,对于缺失数据大于20个的属性直接删除;
非连续数据编码:使用One-Hot对分类字符串进行转换。
更进一步地,所述S1中的数据增强采用如下方法:对于非平衡数据,通过合成少数类过采样技术方法对少数类样本进行分析,并本根据少数类样本人工合成新样本扩充到原样本数据中。
更进一步地,所述S1中的数据增强采用如下方法:对于非平衡数据,采用MMD-GAN对病毒病例样本数据进行数据增强,生成模拟样本。
更进一步地,所述步骤S2中采用模糊粗糙集属性约简方法约简数据中属性依赖度较低的属性。
更进一步地,所述步骤S3中,在进行检测核心指标重要度筛选前,先用MDGO优化XGBoost算法评估模型参数。
更进一步地,所述步骤S3中的属性重要度筛选包括:提取评估模型所有检测指标的重要度权重,根据平均权重及临床实际对核心指标进行重要度排序。
更进一步地,所述MDGO优化的XGBoost算法评估模型参数为:学习率0.28,伽玛0.03,最大树深度5,最小叶权重0.25,子采样0.33,列采样率0.16。
更进一步地,所述S2中训练集与测试集通过5折交叉验证方法按照8:2的比例进行划分。
更进一步地,所述步骤S4中测试集验证评估模型效果时,通过准确率、查准率、查全率、综合性指标来评价评估模型效果。
本发明的有益效果如下:
1.病毒具有较强的传染性,在全球范围传播,极大的危害着人们的生命财产和公共卫生健康,因此,基于机器学习的病毒诊断方法,有助于对检测数据进行快速精准诊断,降低医生的工作强度,同时还能够对病毒检测中存在假阴性的病例进行识别诊断,提升检测准确率;
2.为了能够获得更加全面的模型性能,MDGO优化XGBoost模型的目标函数同时考虑了准确率(Accuracy),F1值(F1-score),优化的XGboost模型参与更利于提高诊断识别的准确率;
3.基于属性约简和XGBoost的病毒病例检测识别方法,能够应用于不同特征的病例数据,包括不平衡数据,小样本数据,以及存在缺失数据项的不完整病例数据,对采集获取的病例数据具数据抗噪能力和自适应处理能力;
4.本发明采用本发明采用MDGO优化的XGBoost模型作为分类器,对处理较小样本不平衡数据集具有较为优秀的性能,在具有高诊断精度的同时,还能适应病例数据有限的医院进行使用。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明方法的实现流程图;
图2是本发明方法病例数据预处理流程图;
图3 是本发明方法MDGO-XGBoost参数优化流程图;
图4是本发明方法数据增强策略处理前后的样本数量对比示例图;
图5是本发明原始病例数据中属性相关性热力图示例图;
图6是本发明数据增强策略处理后的病例数据属性相关性热力图示例图;
图7是本发明挖掘的病毒检测核心指标重要度排名图。
实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语 “上”、“下”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连通”应做广义理解,例如,可以是固定连通,也可以是可拆卸连通,或一体地连通;可以是机械连通,也可以是电连通;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明提出了基于MDGO优化XGBoost的病毒检测假阴性识别方法,对病毒病例检测数据进行数据预处理和属性约简,并通过XGBoost优化XGBoost模型参数,训练和测试验证,迅速获取相对满意的诊断效果以及病毒检测假阴识别率;同时能够自适应处理病例数据不平衡、小样本和存在缺失数据项等特点的病例数据。
如图1所示,本发明提供的基于属性约简和XGBoost的病毒检测假阴性识别方法是作为病毒病例检测诊断过程中的重要辅助工具,其中数据预处理如图2所示,MDGO优化XGBoost模型参数流程图如图3所示。整个检测评估模型步骤如下:
S1、获取病毒病例样本数据并进行预处理及数据增强;
S2、对经步骤S1处理后的样本数据进行属性约简,降低数据维度,并将样本数据划分为训练集和测试集;
S3、使用XGBoost提升树可扩展系统对病毒检测核心指标进行重要度筛选;
S4、利用训练集中的数据对XGboost算法评估模型进行训练,建立评估模型;并将测试集的数据代入评估模型进行识别诊断,验证评估模型效果;
S5、利用评估模型对病例数据进行预测。
其中,在步骤S2中可以在重要度筛选前先使用MDGO优化XGBoost模型参数训练,获取优化的XGBoost模型参数;然后使用训练优化的XGBoost提升树可扩展系统对病毒检测核心指标进行重要度筛选;最后使用训练优化的XGBoost评估模型对测试病例数据进行预测,对假阴病例数据进行诊断识别。
下面结合具体实施例进行说明。
实施例1
本实施例提供的基于属性约简和XGBoost的病毒检测假阴性识别方法具体实施过程如下:
1. 数据集的获取和预处理
本实施例中的数据集来自某医院对病毒临床检测的185例病历样本,包括职业、年龄、血检、肺部CT、病毒检测等共计174项检测指标,当然,在实际应用中具体检测指标与医院实际情况相关,并不一定与本实施例中完全相同
其中,分类标签类设置如下:根据该病毒检测指南,设置病毒检测结果为关键属性分类标签,在病毒检测结果中,数值为1表示两次检测均阳性,即确诊感染病毒,数值为0表示两次检测均为阴性,即疑似未被感染病毒,数值为2表示两次病毒检测为一阴性、一阳性,即病毒检测假阴病例。
对获取的数据进行如下处理:
(1)缺失数据处理:数据的缺失除了造成大量的噪音外也难以训练各分类模型,在本病例数据中,部分样本或多或少缺失部分检测项指标数据,若直接删除缺失属性的数据将导致整个数据集难以进行有效训练,因此,采用如下三种缺失数据数据补齐方法进行处理:
对于缺失超过20个以上instance的属性,进行直接删除。这样做的原因是,不让大量填充数据造成更多的噪音;
对于数字类型缺失数据,包括int类型(例如年龄等属性)及float类型,采用均值方法进行缺失值填充,即使用该属性的均值对空白数据进行补充。举例说明,[1.1, NaN,1.5,2.0],本列数据的均值为三个属性的平均值(1.1+1.5+2.0)/3=1.5,那么该均值将替换NaN,所以最终补充后的该列数据为[1.1,1.5,1.5,2.0];
对于字符类型缺失数据(string类型),为了尽量降低填充数据造成的噪音影响,直接赋予not given值填充空白值。
(2)非连续数据编码:数据中包含了字符串分类类型,例如Occupation属性,包含了famer和worker等内容,该类数据为非连续数据,如果仅仅使用数字为其编码,可能会使模型误以为数据之间有关联性。为此,本实施例采用的方法是使用One-Hot对分类字符串进行转换。例如性别为‘female’,‘male’,‘ not given’三个分类。那么female既可表示为[1,0,0],而male和not given则用[0,1,0]与[0,0,1]来表示。缺失数据处理后,数据规模变为(170,396),可以看到数据instance量下降,但属性则变得更多。
(3)非平衡数据处理:由于数据量的限制,采用over-samping的方法进行,即为少数类样本特征生成新的样本数据以达到平衡目的。使用MSMOTE方法,在少数类数据点的特征空间里,将少数类别的样本分为 3 个不同的组:安全样本、边界样本和潜在噪声样本,从安全样本出发随机选择 k-最近邻的数据点,并从边界样本出发选择最近邻。分类通过计算少数类的样本和训练数据的样本之间的距离来完成。生成后的数据增强为(291, 396),生成前后的分类数据对比如图4所示。属性原始的属性相关性和处理的后属性相关性分别如图5和图6所示,可以看出在解决不平衡问题之前,大多数特征并没有显示出相关性,这会影响模型的性能,因此修复类别不平衡问题非常重要。
2.属性约简处理
预处理后的数据维度为173维,作为模型输入维度偏高,为了筛选并去除无关属性,降低数据的冗余度,采用模糊粗糙集属性约简方法精简数据中属性依赖度较低的属性。分别计算属性与类别之间的属性依赖度,然后进行属性依赖度排序。本实施例经过多次重复试验以及比较模型训练效果后发现将依赖度低于0.3的属性约简掉,从而将预处理后的数据维度降到150-155维的训练效果最佳。
3.数据集的划分以及XGBoost模型训练
本实施例中经过数据预处理和属性约简后,通过5折交叉验证方法将数据集按照8:2的比例随机划分为训练集和测试集。将划分好的训练集122*150组数据作为XGBoost模型的输入去训练,模型训练的输出是关键属性分类标签病毒检测结果‘ (RNA)’字段,即当(RNA)=1表示两次检测均阳性,即确诊感染病毒,(RNA)=0表示两次检测均为阴性,即疑似未被感染病毒,(RNA)=2表示两次病毒检测为一阴性、一阳性,即病毒检测假阴病例。
(1)XGBoost模型优化参数设置
由于参数波动对XGboost模型效果具有影响,从而影响识别结果的精准度,因此有必要优化对XGboost模型有较大影响的6个参数,即学习率(eta),最大树深度(max_depth),最小叶权重(min_child_weight),伽玛(gamma),子采样(subsample)和列采样率(colsample_bytree),来提升评估效果,具体参数信息如表1所示。
表1 XGBoost模型优化参数信息
(2)多目标动态群优化算法(MDGO)优化XGboost模型参数
MDGO算法旨在解决优化问题,并受到自然群体结构的启发,模拟现实生活中的群组中成员出现、合并、扩展、离开或中止等自然行为。利用其对XGboost模型参数进行优化,具体优化方式如下:
构建双目标函数:MDGO是利用非支配解集法则解决2个及以上优化目标函数的任务,由于病毒诊断识别任务中,单独使用准确率(Accuracy)或者F1值(F1-score)并不能较好的反应模型的诊断识别性能,因此,在XGboost模型参数优化过程中使用准确率(Accuracy)和F1值(F1-score)构造该多目标优化任务中的双目标函数。具体计算如下:
Accuracy=ncorrect/ntotal,ncorrect为正确分类的数量,ntotal为总分类数量;
Precision = TP/(TP+FP),即正确预测的正例数/预测正例总数;
Recall = TP/(TP+FN),即正确预测的正例数/实际正例总数;
则
初始化群成员空间和适应度值计算:随机初始化20个成员的位置和速度。每个成员的位置属性是一个6维向量,其范围是指整个搜索空间;每个成员每个维度的分量对应XGBoost模型参数,因此,每个维度的初始化值范围是不同的,则第i个成员在第t次迭代时的空间向量为:
X i(t) =[x i(t) eta ,x i(t) max_depth ,x i(t) min_child_weight ,x i(t) gamma , x i(t) subsample ,x i(t) colsample_bytree ]
由于所有成员都在相同的搜索空间中移动,因此当t=0时,将速度初始化为每个维度的默认值。第i个成员在第t代的更新速度矢量可以表示如下:
V i(t) =[v i(t) eta ,v i(t) max_depth ,v i(t) min_child_weight ,v i(t) gamma , v i(t) subsample ,v i(t) colsample_bytree ]
初始化赋值后,将位置向量分配给模型的相应参数,并将训练集上的性能作为初始适应度值。计算每个成员的适应度值,第i个成员在第t代的适应度值为F i(t) =X i(t) →XGboost(trainningset),使用Xbest i(t) =max(F i(j) )更新每个成员的成员最优解,使用Gbest (t)=max(Xbest i(t))更新每一代的全局最优解,其中j的范围为0到t。
成员参数值更新:使用更新成员在空间移动的速度。
其中v i(t) 为第i个成员在第t代的新速度, 为一个系数0.5,u为(0,1)的随机数,x i(t) 为第i个成员在第t代的值;
h i(t)=φH i(t)+(-φ)Gbest (t),其中φ为(0,1)的随机数,H i(t) 为第t代在第i组中的组头(组内最优解);
C t =(1/M)(H (t)+H (t)+,...,+H m(t)),其中M为组的数量,C t 为第t代中所有组头的均值。
其中,每个速度矢量在样本空间运动的范围为表中每个参数对应的范围。成员移动的速度更新后,更新成员空间位置,如果成员位置超过定义空间范围,则将其位置限定到定义空间边界。
使用非支配方式更新和选择群组成员最优解、全局最优解,更新外部归档集:外部归档集是可以用于保存当前帕累托最优解的单位,算法中每个群组都有自己的外部归档集来选择自己群组的最优解,并且本实施例还设置了一个控制全体搜索单位的全局归档集,负责控制全局最优的帕累托最优解集。归档集的空间大小上限是固定的,通常由经验值设定,本任务设置50个解,因此为了更好的管理外部归档集,归档集控制器被设计用来控制归档集的更新,包括新的最优解加入和当归档集数量达到上限时旧的非劣解的剔除。归档集控制器根据下面三种情况控制新的非劣解进入归档集:
A.新的解劣于归档集中任一解,那么该新解将被拒绝进入归档集中;
B.新的解非劣于归档集中任一解,那么该新解将被加入归档集中;
C.新的解非劣于归档集中任一解且归档集解上限达到最大值,那么网格将在目标空间内寻找最拥挤的片段并删除其中一个解,然后将新的解插入最稀疏的片段上。这样可以尽可能的保持帕累托前沿均匀分布。每一代的搜索,网格均会自适应的调整分布保证搜索目标空间内分布的合理性。
设置循环迭代的终止条件:终止条件为算法达到100代,或者外部归档集在5代内没有变化。当达到终止条件之一时,MDGO-XGBoost停止执行并输出具有最高适应度值得分的解决方案,该解决方案将用于训练最终的XGBoost分类器。
本实施例的三组最佳实验数据如下表2所示:
表2 三组最佳参数和相应的适应度值
由上表2可以看出,第一组参数的性能最佳,其中学习率为0.28,伽玛为0.03,最大树深度为5,最小叶权重为0.25,子采样为0.33,列采样率为0.16。这组参数将用于本实施例的对比实验比较。
(3)将测试数据集代入MDGO优化的XGBoost模型进行识别诊断,根据测试集的标签评估模型效果。其大体流程如图1所示。XGBoost以树模型作为基分类器,决策树个数为100,并在训练每棵树的时候使用所有的数据以及特征。使用表2中第一组参数作为XGboost模型参数。同时,使用L2 loss 来防止模型过拟合。为了尽可能保持一致性,在LogisticRregression中也采用了L2 loss作为penalty并使用5折cross validation验证以防止模型出现过拟合问题。
4. 检测核心指标重要度排序:最终XGBoost的目标函数的正则项由生成的所有决策树的叶子节点数量和所有节点权重所组成的向量的范式共同决定。收益最大的特征在训练建树时被选择分裂位置,并在该节点分裂出左右两个新叶子节点,为新节点关联对应样本集。图7展示了XGBoost树结构的重要特征,即病毒筛选的核心指标重要度排序。
5. 模型评价指标说明及实验验证结果:经过MDGO优化的XGBoost模型训练后,需要检验模型训练效果,由于本任务属于多类别分类问题,采用包括准确率(Accuracy), 查准率(Precision),查全率(recall),综合性指标(F1)度量来评价评估模型效果。现使用MDGO-XGboost、XGBoost、Logistic Regression和SVM作为分类器进行训练和预测识别,并均采用本发明处理后的样本数据来对比评估效果,具体实验对比验证效果如表3所示。其中,查准率(Precision)达到0.94左右,查全率(recall)为约0.88,综合性指标(F1)达到0.91左右。
表3 四个算法的诊断识别效果对比
表 3详细对比了MGDO优化的XGBoost和逻辑回归SVM模型预测结果的各项评价指标。从表3中可以清晰看到,经过病例数据预处理和数据增强策略后,MGDO-XGBoost在F1score等评估指标上展现出了优秀的性能。例如在Positive的标签中,MGDO-XGBoost获得了0.95的F1 score,比XGBoost和逻辑回归及SVM提高了4%、18%和14%。而对于precision和recall值,从实验中也同样可以获得相同结论,尤其在negative 和 positive 标签上,MGDO-XGBoost得到了更准确的识别率。
对于Logistic Regression虽然使用multi-softmax可以使其进行多分类任务,但前提还是线性可分,对于多类别数据处理效果相对较差,这也是在本实验获得较弱表现的原因。SVM对于小样本和大型特征空间都有优化的分类表现,但是同样对于分线性问题没有良好解决方案,很难找到合适的核函数,并且对于缺失数据异常敏感,本病例数据中,大量缺失数据可能是造成结果不理想的原因。XGBoost在训练时需要对部分参数进行预先设置,同时,不同的应用场景下经验参数往往具有不确定性,因此,使用参数默认值进行训练对识别结果存在影响,参数的调整对于提高模型的性能至关重要。本实施例通过构造双目标函数使用MDGO优化XGBoost模型进行参数估计和优化,实验结果体现了优化参数后的XGBoost模型相比于使用默认值的XGBoost模型性能提升,对比结果说明该发明方法是解决此问题的一种有效方法。
通过上述对比,明显可以看出本发明提供的方法与其它检测诊断方法相比具有明显的优势,能有效提升检测的准确率,降低医生的工作强度,节省医生时间,使得医生能有更多时间致力于病毒应对方法的研究上。
实施例2
通过在少数类数据集中加入过采样增强数据来解决数据不平衡的问题,但是与对数据集中各个标签样本规模均较小,模型的训练效果仍然受到限制,GAN可以生成符合原始样本分布的模拟样本,对领域知识依赖性较低。本实施例提供的另一种增强策略具体实施过程如下:
在图2中的非平衡数据处理中,使用Maximum Mean Discrepancy GenerativeAdversarial Network (MMD-GAN,最大平均差异生成式对抗网络)对病毒病例数据训练样本进行数据增强,生成模拟样本。其余步骤同实施例1。
首先,分别采用病毒确诊、疑似、假阴性病例数据对照组的训练集样本训练MMD-GAN,生成器生成原始病例样本,然后通过判别器判断过滤,最终得到模拟样本。MMD-GAN模型参数采用多次试验中表现最好的一次,即生成器隐藏层数量1层,Rectified LinearUnit(ReLU,隐藏层修正线性单元28个,生成器的输出层sigmoid单元36个,噪声向量z的维度设置为15;判别器隐藏层1层,隐藏层ReLUs为56个,输出层无激活函数单元为1个。每种标签训练样本对应的MMD-GAN结构参数相同。训练过程迭代周期为5*103,其中每个迭代周期判别器迭代50次,然后生成器迭代1次,开发环境为TensorFlow1.0。生成后的数据增强为(291, 406),与实施例1中的增强后数据规模接近。
在生成模拟样本之后,使用MDGO-XGboost、XGBoost、Logistic Regression和SVM作为分类器进行训练和预测识别,然后同实施例1中MSMOTE数据增强策略下上述四个分类器的识别效果进行对比,如表4所示。评价指标为Accuracy、f1-score,以及新增Recall调和平均值G-mean,其中,,Specificity=TN/(TN+FP),TN为正确的阴性的分类数,FP为错误的阳性的分类数,G-mean对非平衡数据评估具有较高参考价值。
表4 不同数据增强策略分类性能对比
从表4可见,Logistic Regression、SVM在未经过数据增强不平衡处理时,三项指标均较低,大量病毒病例样本没有得到有效识别,说明模型对小样本不平衡数据环境较为敏感,识别效果较差。经过MSMOTE数据增强后,相比于原始病例样本,三项评估指标值均有所提升,说明MSMOTE过采样数据增强下机器学习模型可以提升模型识别效果。通过MMD-GAN生成数据进行增强处理后,SVM的指标值有所降低,Logistic Regression的指标值有所提高,XGBoost和MDGO-XGBoost模型的指标值比MSMOTE增强下均有提升,说明MMD-GAN生成的模拟样本对机器学习模型同样具有性能提升的效果,部分模型的提升效果优于MSMOTE,但也有部分模型性能下降。综上,可以说明基于数据增强策略的小样本不平衡病毒病例检测诊断识别效果优于原始病例,基于MDGO-XGBoost模型的诊断识别效果优于对比模型,说明本发明的提出的病毒诊断识别方法在小样本不平衡情况下具有明显优势。
以上所述,仅为本发明的较佳实施例,并不用以限制本发明,本发明的专利保护范围以权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (2)
1.一种基于属性约简和XGBoost的病毒检测假阴性识别方法,其特征在于,包括如下步骤:
S1、获取病毒病例样本数据并进行预处理及数据增强;所述预处理包括:缺失数据处理:对于数值型缺失数据采用均值法补齐,对于字符型缺失数据采用空白值填充,对于缺失数据大于20个的属性直接删除;非连续数据编码:使用One-Hot对分类字符串进行转换;所述数据增强采用如下方法:对于非平衡数据,采用MMD-GAN进行数据增强,生成模拟样本;
S2、对经步骤S1处理后的样本数据进行属性约简,降低数据维度,并将样本数据划分为训练集和测试集;训练集与测试集通过5折交叉验证方法按照8:2的比例进行划分;采用模糊粗糙集属性约简方法约简数据中属性依赖度低于0.3的属性;
S3、用MDGO优化XGBoost算法评估模型参数,使用XGBoost提升树可扩展系统对病毒检测核心指标进行重要度筛选,所述重要度筛选包括:提取评估模型所有检测指标的重要度权重,根据平均权重及临床实际对核心指标进行重要度排序; MDGO优化的XGBoost算法评估模型参数为:学习率0.28,伽玛0.03,最大树深度5,最小叶权重0.25,子采样0.33,列采样率0.16;
MDGO优化XGBoost模型参数的具体优化方式包括:初始化群成员数量和迭代次数,初始化群成员空间位置和速度向量,分配每个群成员向量给XGBoost模型,构造双目标函数,计算适应度值,更新群成员空间位置和速度向量,使用非支配方式更新群组成员最优解、全局最优解和外部归档集,判断是否超出定义空间范围,若是,限制每个成员空间位置,判断是否满足停止准则;若否,直接判断是否满足停止准则;若满足停止准则,输出外部归档集对应的XGboost参数;若不满足停止准则,重新分配每个群成员向量给XGBoost模型,构造双目标函数,计算适应度值;
S4、利用训练集中的数据对XGboost算法评估模型进行训练,建立评估模型;并将测试集的数据代入评估模型进行识别诊断,验证评估模型效果;
S5、利用评估模型对病例数据进行预测。
2.根据权利要求1所述的基于属性约简和XGBoost的病毒检测假阴性识别方法,其特征在于,所述步骤S4中验证评估模型效果时,通过准确率、查准率、查全率、综合性指标来评价评估模型效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010451499.3A CN111834010B (zh) | 2020-05-25 | 2020-05-25 | 一种基于属性约简和XGBoost的病毒检测假阴性识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010451499.3A CN111834010B (zh) | 2020-05-25 | 2020-05-25 | 一种基于属性约简和XGBoost的病毒检测假阴性识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111834010A CN111834010A (zh) | 2020-10-27 |
CN111834010B true CN111834010B (zh) | 2023-12-01 |
Family
ID=72913897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010451499.3A Active CN111834010B (zh) | 2020-05-25 | 2020-05-25 | 一种基于属性约简和XGBoost的病毒检测假阴性识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111834010B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582370B (zh) * | 2020-05-08 | 2023-04-07 | 重庆工贸职业技术学院 | 一种基于粗糙集优化的脑转移瘤预后指标约简及分类方法 |
CN112365992A (zh) * | 2020-11-27 | 2021-02-12 | 安徽理工大学 | 一种基于nrs-lda的医疗体检数据识别分析方法 |
CN112700867A (zh) * | 2021-01-13 | 2021-04-23 | 浙江大学医学院附属第一医院 | 一种基于迁移学习的covid-19患者的分级诊断系统 |
CN112766352B (zh) * | 2021-01-13 | 2024-03-29 | 大连海事大学 | 一种基于极端梯度提升算法的新型冠状病毒分类方法 |
CN113470837A (zh) * | 2021-09-01 | 2021-10-01 | 广东省大湾区集成电路与系统应用研究院 | 基于决策树模型与逻辑回归模型组合的感染筛查方法 |
CN116522248B (zh) * | 2023-03-22 | 2023-12-15 | 新疆维吾尔自治区疾病预防控制中心 | 基于机器学习的核酸异常数据智能研判系统 |
CN117171560A (zh) * | 2023-08-23 | 2023-12-05 | 国网吉林省电力有限公司经济技术研究院 | 一种基于XGBoost算法的乡村能效数据集缺失值填充方法 |
CN117171478B (zh) * | 2023-09-05 | 2024-04-26 | 中国医学科学院北京协和医院 | 一种医学检测数据误差识别模型构建方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111888A (zh) * | 2019-05-16 | 2019-08-09 | 闻康集团股份有限公司 | 一种XGBoost疾病概率预测方法、系统及存储介质 |
CN110265085A (zh) * | 2019-07-29 | 2019-09-20 | 安徽工业大学 | 一种蛋白质相互作用位点识别方法 |
CN110837866A (zh) * | 2019-11-08 | 2020-02-25 | 国网新疆电力有限公司电力科学研究院 | 基于XGBoost的电力二次设备缺陷程度评估方法 |
CN111081381A (zh) * | 2019-11-08 | 2020-04-28 | 李静 | 院内致命性消化道再出血预测关键指标的智能筛选方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10754764B2 (en) * | 2018-04-22 | 2020-08-25 | Sas Institute Inc. | Validation sets for machine learning algorithms |
-
2020
- 2020-05-25 CN CN202010451499.3A patent/CN111834010B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111888A (zh) * | 2019-05-16 | 2019-08-09 | 闻康集团股份有限公司 | 一种XGBoost疾病概率预测方法、系统及存储介质 |
CN110265085A (zh) * | 2019-07-29 | 2019-09-20 | 安徽工业大学 | 一种蛋白质相互作用位点识别方法 |
CN110837866A (zh) * | 2019-11-08 | 2020-02-25 | 国网新疆电力有限公司电力科学研究院 | 基于XGBoost的电力二次设备缺陷程度评估方法 |
CN111081381A (zh) * | 2019-11-08 | 2020-04-28 | 李静 | 院内致命性消化道再出血预测关键指标的智能筛选方法 |
Non-Patent Citations (2)
Title |
---|
Research on orthopedic auxiliary classification and prediction model based on XGBoost algorithm;Shenglong Li et.al;Neural Computing and Applications;第32卷(第7期);1971-1979 * |
新型冠状病毒核酸检测中的思维误区;王达 等;中华医院感染学杂志;第30卷(第8期);1167-1170 * |
Also Published As
Publication number | Publication date |
---|---|
CN111834010A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111834010B (zh) | 一种基于属性约简和XGBoost的病毒检测假阴性识别方法 | |
CN109408389B (zh) | 一种基于深度学习的代码缺陷检测方法及装置 | |
Wang et al. | Improving Generalization of Fuzzy IF--THEN Rules by Maximizing Fuzzy Entropy | |
US7606784B2 (en) | Uncertainty management in a decision-making system | |
US7362892B2 (en) | Self-optimizing classifier | |
Mansoori et al. | A weighting function for improving fuzzy classification systems performance | |
Mikenina et al. | Improved feature selection and classification by the 2-additive fuzzy measure | |
Lin et al. | Parameter tuning, feature selection and weight assignment of features for case-based reasoning by artificial immune system | |
CN110532298B (zh) | 多属性铁路事故致因权重分析方法 | |
CN113179276B (zh) | 基于显式和隐含特征学习的智能入侵检测方法和系统 | |
CN109409434A (zh) | 基于随机森林的肝脏疾病数据分类规则提取的方法 | |
CN116805533A (zh) | 一种基于数据收集与模拟的脑出血手术风险预测系统 | |
CN116340936A (zh) | 融合强化学习和特征选择优化的ics入侵检测系统及方法 | |
CN115018006A (zh) | 一种基于Dempster-Shafer框架的分类方法 | |
CN114093445B (zh) | 一种基于偏多标记学习的患者筛选标记方法 | |
CN113516189B (zh) | 基于两阶段随机森林算法的网站恶意用户预测方法 | |
CN113469288A (zh) | 融合多个机器学习算法的高危人员预警方法 | |
JP2002202984A (ja) | ルールベースモデルに基づくテキスト情報自動分類装置 | |
CN116051924B (zh) | 一种图像对抗样本的分治防御方法 | |
CN112817442A (zh) | 基于ffm的多任务情况下态势信息分类推荐系统及方法 | |
Zalasiński et al. | Intelligent approach to the prediction of changes in biometric attributes | |
Jagielska | Linguistic rule extraction from neural networks for descriptive data mining | |
CN114595695A (zh) | 一种用于少样本意图识别系统的自训练模型构建方法 | |
CN113537313A (zh) | 一种基于wgan训练收敛的不平衡数据集分析方法 | |
CN116304110B (zh) | 使用英语词汇数据构建知识图谱的工作方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |