CN112951413B - 一种基于决策树和改进smote算法的哮喘病诊断系统 - Google Patents
一种基于决策树和改进smote算法的哮喘病诊断系统 Download PDFInfo
- Publication number
- CN112951413B CN112951413B CN202110302072.1A CN202110302072A CN112951413B CN 112951413 B CN112951413 B CN 112951413B CN 202110302072 A CN202110302072 A CN 202110302072A CN 112951413 B CN112951413 B CN 112951413B
- Authority
- CN
- China
- Prior art keywords
- data
- asthma
- samples
- decision tree
- sample
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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
Abstract
本发明属于数据挖掘领域,具体涉及一种基于决策树和改进SMOTE算法的哮喘病诊断系统。本发明利用血常规数据和哮喘患者的血常规体检数据,采用粒子群优化算法对SMOTE过采样技术的采样率进行优化,得到一种改进的SMOTE过采样技术,利用决策树对数据建模诊断。本发明可以根据患者的血常规体检数据自动诊断是否患有哮喘病,降低了因医生疲劳、判断失误或经验不足的影响,同时提高了诊断哮喘病的效率。
Description
技术领域
本发明涉及数据挖掘领域,具体涉及一种基于决策树和改进SMOTE算法的哮喘病诊断系统。
背景技术
支气管哮喘(简称哮喘)是由多种细胞(如嗜酸性粒细胞、肥大细胞、T淋巴细胞、中性粒细胞、气道上皮细胞等)和细胞组分、参与的气道慢性炎症性疾病。哮喘属于气道慢性应变性炎症反应,患者急性发作临床表现为反复喘息、呼吸困难、胸闷咳嗽,运动耐受性下降并伴有气道高反应性、梗阻性。哮喘是一种严重危害人体健康的慢性呼吸道疾病,其发病率高且不能治愈。严重影响了患者的正常工作与生活。更有不少患者得不到及时的治疗或者治疗方法的错误,使肺部功能进一步的受损。哮喘严重发病时,若得不到及时的干预治疗,甚至会危及患者的生命安全。
据统计,世界约有3亿人受到哮喘病的影响,而且受影响的患者数量呈指数增长,到2025年,有可能再有1亿人受到这种疾病的影响。常用评估哮喘病情的方法如痰涂片观察嗜酸性粒细胞、肺功能(SPIR)和脉冲震荡测量(IOS)等,但不易检测、费时费力、费用昂贵。以上的检测手段需要大量有专业知识和诊断经验的从业人员,但是患病基数大,从业人员的数量相对较少。这样会给医务人员带来极大的疲劳,甚至容易导致误诊误。而且因为缺少统一的临床指标,不同的医生会给出不同的诊断结果,具有较大的限制性和危险性。些病人常以发作性咳嗽为唯一症状,临床上常易误诊为支气管炎,有的青少年病人则以运动时出现胸闷,气紧为唯一临床表现,若对哮喘的认识不够,或临床诊断思路不正确,很容易导致误诊或漏诊。
发明内容
针对现有技术中存在问问题,本发明针对哮喘病疾病,利用从医院相关部门获得的哮喘病人血常规数据,结合机器学习的数据挖掘相关算法,建立一个哮喘病诊断模型系统,达到给医生辅助临床诊断的目的,做到早诊断,早治疗,降低哮喘病人的发病率。
为实现上述发明目的,本发明提出一种基于决策树和改进SMOTE算法的哮喘病诊断系统,包括数据采集与处理模块、过采样处理模块、决策树训练模块、检测模块和诊断应用模块;所述数据采集与处理模块用于采集血常规体检数据,并对采集的数据进行缺失值清洗、填充缺失值内容或重新取数、删除内容不符合数据、去除重复值或不合理值,保证数据之间的正确关联性处理;离散数据进行One-Hot编码处理;将预处理后的数据输入过采样处理模块;所述过采样处理模块用于对输入的数据进行处理,将PSO与SMOTE优化算法处理平衡后的数据分为训练样本集和验证样本集两组;所述决策树训练模块采用CART回归树算法搭建哮喘病诊断模型,使用MEP后剪枝算法计算误差并进行剪枝,避免欠拟合风险;再利用训练样本集进行哮喘病诊断训练;所述检测模块用于加载训练好的哮喘病诊断模型,利用验证样本集对训练好的哮喘病诊断模型进行验证;所述诊断应用模块利用训练好的哮喘疾病诊断模型作为最终应用模型,用于哮喘病的辅助诊断。
进一步地,上述数据采集与处理模块包括数据采集和数据清洗,具体包括以下内容:
数据采集:获取血常规数据;
缺失值清洗:确定缺失值范围,对每个字段计算缺失值比例,按照缺失值比例和字段重要性,采用以下的方式清洗:去除不需要字段、无意义的字段;填充缺失值的内容或重新取数;
格式内容清洗:时间日期数值显示格式、内容中不该存在的字符、字段内容与该字段应有内容不符;
逻辑错误清洗:包括去重、去除不合理值、修正矛盾内容;
非需求数据清洗:对不需要的字段进行删除处理;
关联性验证:在数据来源于多张表或数据库的情况下,保证数据之间关联的正确性,防止数据之间出现关联错误或是互相矛盾的情况。
进一步地,上述过采样处理模块包括以下步骤:
S2.1:采用K-means聚类算法对少数类样本进行聚类,形成固定K个簇并记录下每一个簇心:
其中xi代表数据集中第i个数据样本,ωj表示第j个聚类簇;zj表示第j个聚类簇的簇心;
S2.2:在少数类样本与其最临近n个样本中选取m个采样点,采样率使用PSO粒子群算法进行优化:
其中,b1和b2为加速常数,前者为每个粒子的个体的个体学习因子,后者为每个粒子的社会学习因子,w代表惯性因子,其值为非负,i表示第i个粒子,d表示粒子的第d个维度,v代表的是速度,x代表位置;r1,r2表示两位位于[0,1]的随机数,pbest[i]是指粒子取得最高(低)适应度的位置,gbest[i]是指整个系统取得最高(低)适应度时的位置;
S2.3:选择好原始点和采样率之后,生成新的少数类样本:
Xnew=X+rand(0,1)*(Mi-X),i=1,2,,,,N
其中,Xnew为新插入样本;X为选择的原始样本数据;rand(0,1)表示0与1之间的某一个随机数;Mi为原始样本数据X的最临近中通过PSO优化后的最佳采样点;
S2.4:如果在样本新样本位置中,少数类样本与多数类样本的比例小于1/2,则保留样本,否则重新插值生成新样本;
S2.5:当少数类样本个数与多数类样本个数达到平衡,结束循环,否则继续生成新样本。
进一步地,上述决策树训练模块具体包括以下步骤:
S3.1:在训练样本的属性空间中,将一个区域划分成两个子区域,并确定子区域的输出值,选择最优切分点j和切分点s,求解
其中R1和R2代表划分之后的空间,c1,c2分别代表R1,R2空间中y的均值,遍历变量j,对固定的划分变量j扫描切分点s,使得上述公式达到误差最小的变量(j,s);
S3.2:用(j,s)划分区域并决定响应的输出值:
R1(j,s)={x(j)}≤s,R2(j,s)={x|x(j)}≤s
其中,cm的是每个子集中所有样本的目标变量y的平均值,Nm代表子区域数据个数,yi代表Rm空间中每个数据的特征值,Rm代表划分空间的数量;
S3.3:对两个子区域重复的调用步骤S3.1和S3.1,直到满足最优切分变量和切分点条件;
S3.4:将数据特征空间划分为M个区域R1,R2,R3.......RM,构建决策树:
其中,cm的是每个子集中所有样本的目标变量y的平均值,并以此作为该子集的预测值,M代表划分区域的个数;
S3.5:进行MEP后剪枝算法,对决策树进行后剪枝;
S3.6:使用训练集的数据对决策树进行训练。
进一步地,上述步骤3.4的MEP后剪枝算法,具体步骤如下:
1)如果样本共有K类,那么在决策树节点t的训练样本中,属于类别i的概率如下式:
2)节点t的预测错误率Er(t)定义为下式:式中:Pai为i类样本的先验概率,即类别i的样本在整个数据集的占比;m非定值,具体为Pai对后验概率Pi的影响因子;
如果所有类别的先验概率都相同时,即Pai=1/k,(i=1,2,,,,k),即m=k,此时的Er(t)可以表示为
上式:n(t)为节点t的样本总数;ni(t)为节点t中主类的样本数量;
3)分别计算非叶节点的误差Er(Tt)并且加权相加,如果节点误差大于分支误差的加权和则保留该子树,否则剪掉该子树。
进一步地,上述步骤S3.5具体包括以下内容:
如训练好的哮喘病诊断模型在验证样本集上的哮喘病诊断准确率大于等于85%,则利用训练好的哮喘病诊断模型作为最终模型,将最终模型用于哮喘病的诊断;
否则,根据网格搜索中输入的参数列表,选出列表中经过实验找出最优的参数max_depth(最大深度),criterion(不纯度),class_weight(目标权重参数);利用训练样本集对搭建的哮喘病模型进行重新训练,直至获得的训练好的模型在验证样本集上的哮喘病诊断准确率大于等于85%时,获得最终模型;再将最终模型用于哮喘病的辅助诊断。
进一步地,上述诊断应用模块包括以下具体步骤:
S5.1:收集病人体检血常规的数据;
S5.2:数据进行处理:包括数据清洗;PSO与SMOTE算法优化数据,使得数据正负样本平衡;
S5.3:将处理后的数据输入哮喘诊断决策树最终模型;
S5.4:机器智能诊断结果;
S5.5:辅助医生诊断哮喘病。
进一步地,上述数据采集的样本具有23个特征,包括:性别,年龄,嗜碱细胞比例,嗜碱细胞计数,嗜酸细胞比例,嗜酸细胞计数,红细胞压积,血红蛋白,淋巴细胞比例,淋巴细胞计数,平均红细胞血红蛋白含量,平均红细胞血红蛋白浓度,平均红细胞体积,单核细胞比例,单核细胞计数,平均血小板体积,中性粒细胞比例,中性粒细胞计数,血小板压积,血小板分布宽度,血小板计数,红细胞计数,红细胞分布宽度,白细胞计数,诊断结果。
本发明具有以下有益效果:
现有技术中的哮喘诊断,常常是医生根据自己的经验结合病人的特征表现进行判断。本发明只需要患者的血常规体检数据就可以进行诊,对医生有较大的辅助作用,减轻了医疗压力,并且诊断时间更加快速。
附图说明
图1为本发明的系统结构示意图。
图2为本发明过采样处理模块的流程图。
具体实施方式
为使本发明的技术方案更加清晰明确,下面结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明公开了包括数据采集与处理模块、过采样处理模块、决策树训练模块、检测模块和诊断应用模块;所述数据采集与处理模块用于采集血常规体检数据,并对采集的数据进行缺失值清洗、填充缺失值内容或重新取数、删除内容不符合数据、去除重复值或不合理值,保证数据之间的正确关联性处理;离散数据进行One-Hot编码处理;将预处理后的数据输入过采样处理模块;作为本发明的优选实施例,本发明的过采样处理模块采用基于PSO算法的SMOTE过采样方法,为了提高模型诊断的准确度,需要对少数类患哮喘病样本进行过采样,针对传统SMOTE的采样率固定造成的近邻选择盲目性的问题,这里采用PSO对SMOTE的过采样率进行优化,选出最优。针对SMOTE新生成的样本点边界模糊的问题,采用以新产生点为中心,框定一个空间,若少数类样本/多数类样本<1/2,认为新产生的样本为”垃圾点”,舍弃,反之则保留。另外对生成的数据的整体数据集进行特征选择,根据数据之间的相关性的大小,将特征进行排序,选择中位数之前的特征以此作为数据集,用来作为决策树模型的训练。
本发明的决策树训练模块采用CART回归树算法搭建哮喘病诊断模型,使用MEP后剪枝算法计算误差并进行剪枝,避免欠拟合风险;再利用训练样本集进行哮喘病根诊断训练;采用CART回归树算法,因为哮喘病的诊断是一个二分类问题,且特征值为连续值,适用于CART回归树算法。且由于数据集多数少于样本的分布不均衡,ID3、C4.5算法的对节点的计算分别使用信息增益、信息增益率。会导致节点的选择倾向于多类的特征,影响准确性。所以采用CART回归树算法可以对连续的特征值更好的处理,且使用均方差作为选择节点的标准,更加有优势。本发明采用MEP后剪枝算法,因为前剪枝算法虽然简单、但是会丢失较多重要信息。对于MEP后剪枝算法,不需要额外的剪枝集,适用的范围更广。首先引入K-折交叉验证的方法选取出最优的影响因子m,随后将m带入到MEP算法中,对原始的决策树进行剪枝。这样可以得到更加准确、精度更高的决策树,同时能保持决策树的影响特征。采用交叉验证和网格搜索进行决策树模型的构建,选定交叉验证的训练集与测试集的比例折数为10,训练集与测试集的比例为4:1,将训练集用于模型训练,测试集用于模型检验。将各参数值得划分成小区间,对比不同参数的结果,寻找出全局最优或接近全局最优的目标值和参数解。
本发明的检测模块用于加载训练好的哮喘病诊断模型,利用验证样本集对训练好的哮喘病诊断模型进行验证;本发明的诊断应用模块利用训练好的哮喘疾病诊断模型作为最终应用模型,用于哮喘病的辅助诊断。
作为本发明的优选实施例,本发明从无锡市人民医院门诊部门获取患者以及正常人血常规体检数据共计1800条,其中患病人数为400人,门诊数据主要涉及病人的基本信息及各项哮喘相关的检测指标。
本发明中的数据采集与处理模块从医院获取体检血常规数据,其中哮喘病病人的体检数据作为正样本,以及大量的未患哮喘病的体检数据作为负样本。每一个体检者作为一个样本,每个样本具有23个特征,共如下所示:性别,年龄,嗜碱细胞比例,嗜碱细胞计数,嗜酸细胞比例,嗜酸细胞计数,红细胞压积,血红蛋白,淋巴细胞比例,淋巴细胞计数,平均红细胞血红蛋白含量,平均红细胞血红蛋白浓度,平均红细胞体积,单核细胞比例,单核细胞计数,平均血小板体积,中性粒细胞比例,中性粒细胞计数,血小板压积,血小板分布宽度,血小板计数,红细胞计数,红细胞分布宽度,白细胞计数,诊断结果等。
作为本发明的优选实施例,本发明中的数据采集与处理模块包括数据采集和数据清洗,具体包括以下内容:
数据采集:从医院获取血常规数据。
缺失值清洗:确定缺失值范围,对每个字段计算缺失值比例,按照缺失值比例和字段重要性,分别制定策略。如采用以下的方式清洗:去除不需要字段、将一些无意义的字段删除,例如患者的体检编号等;
填充缺失值的内容,对于不同特征的缺失值,采用不同的填充方法,例如采用医生的经验进行缺失值填充,或采用特殊值、中位数,热卡等进行填充。
重新取数,因为某些特征非常重要但是缺失比例过高,所以需要和门诊方面联系,进行重新取数。
格式内容清洗包括以下问题的解决:时间日期数值等显示格式不一致,内容中存在不该存在的字符,字段内容与该字段应有内容不符等等。
逻辑错误清洗的工作是去掉一些使用简单逻辑推理就可以直接发现问题的数据,防止分析结果走偏。主要包括去重,去除不合理值,修正矛盾内容等等。
非需求数据清洗就是对不需要的字段进行删除处理。
关联性验证是为了在数据来源于多张表或数据库的情况下,保证数据之间关联的正确性,防止数据之间出现关联错误或是互相矛盾的情况。
作为本发明的优选实施例,本发明对于离散数据的预处理,包括以下步骤:
对于离散数据的预处理包含,我们不能进行通常情况下的编码方案,要对其进行特征数字化,本发明中对其采用One-Hot编码方案。One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码方案,每个状态都有他独立的寄存器位,并且在任意时候只有一位有效。One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值,然后,每个整数值被表示为二进制向量,除了整数的索引之外,其它都是零值,索引被标记为1。使用One-Hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点,因为特征之间距离的计算或相似度的计算是非常重要的,而我们常用的距离或相似度的计算都是在欧式空间的相似度计算,将离散型特征使用One-Hot编码,会让特征之间的距离计算更加合理。
作为本发明的优选实施例,本发明中的过采样处理模块包括以下步骤:
S2.1:采用K-means聚类算法对少数类样本进行聚类,形成固定K个簇并记录下每一个簇心:
其中xi代表数据集中第i个数据样本,ωj表示第j个聚类簇;zj表示第j个聚类簇的簇心;
S2.2:在少数类样本与其最临近n个样本中选取m个采样点,采样率使用PSO粒子群算法进行优化:
其中,b1和b2称为加速常数,前者为每个粒子的个体的个体学习因子,后者为每个粒子的社会学习因子;w代表惯性因子,其值为非负,i表示第i个粒子,d表示粒子的第d个维度。v代表的是速度,x代表位置。r1,r2表示两位位于[0,1]的随机数(对于一个粒子的不同维度,r1,r2的值不同)pbest[i]是指粒子取得最高(低)适应度的位置,gbest[i]是指整个系统取得最高(低)适应度时的位置;作为本发明的优选实施例,通常设置b1=b2=2,但不一定必须等于2,一般取b1=b2∈[0,4];
S2.3:选择好原始点和采样率之后,生成新的少数类样本:
Xnew=X+rand(0,1)*(Mi-X),i=1,2,,,,N
其中,Xnew为新插入样本;X为选择的原始样本数据;rand(0,1)表示0与1之间的某一个随机数;Mi为原始样本数据X的最临近中通过PSO优化后的最佳采样点;
S2.4:如果在样本新样本位置中,少数类样本与多数类样本的比例小于1/2,则保留样本,否则重新插值生成新样本;
S2.5:当少数类样本个数与多数类样本个数达到平衡,结束循环,否则继续生成新样本。
作为本发明的优选实施例,本发明中的决策树训练模块具体包括以下步骤:
S3.1:在训练样本的属性空间中,将一个区域划分成两个子区域,并确定子区域的输出值,选择最优切分点j和切分点s,求解
其中R1和R2代表划分之后的空间,遍历变量j,对固定的划分变量j扫描切分点s,使得上述公式达到误差最小的变量(j,s);
S3.2:用(j,s)划分区域并决定响应的输出值:
R1(j,s)={x(j)}≤s,R2(j,s)={x|x(j)}≤s
其中,cm的是每个子集中所有样本的目标变量y的平均值,Nm代表子区域数据个数,yi代表每个数据的值。
S3.3:对两个子区域重复的调用步骤S3.1和S3.1,一直到满足最优切分变量和切分点条件才停止。
S3.4:将特征空间划分为M个区域R1,R2,R3.......RM,构建决策树:
其中,cm的是每个子集中所有样本的目标变量y的平均值,并以此作为该子集的预测值。M代表划分区域的个数。
S3.5:进行MEP后剪枝算法,对决策树进行后剪枝;
S3.6:使用训练集的数据对决策树进行训练。
作为本发明的优选实施例,本发明中步骤3.4的MEP后剪枝算法,具体步骤如下:
1)如果样本共有K类,那么在决策树节点t的训练样本中,属于类别i的概率如下式:
式中:Pai为i类样本的先验概率,即类别i的样本在整个数据集的占比;m非定值,具体为Pai对后验概率Pi的影响因子;
2)节点t的预测错误率Er(t)定义为下式:
如果所有类别的先验概率都相同时,即Pai=1/k,(i=1,2,,,,k),即m=k,此时的Er(t)可以表示为
上式:n(t)为节点t的样本总数;ni(t)为节点t中主类的样本数量;
3)分别计算非叶节点的误差Er(Tt)并且加权相加,如果节点误差大于分支误差的加权和则保留该子树,否则剪掉该子树。
作为本发明的优选实施例,上述步骤S3.5具体包括以下内容:
如训练好的哮喘病诊断模型在验证样本集上的哮喘病诊断准确率大于等于85%,则利用训练好的哮喘病诊断模型作为最终模型,将最终模型用于哮喘病的诊断;
否则,根据网格搜索中输入的参数中经过实验找出最优的参数max_depth(最大深度),criterion(不纯度),class_weight(目标权重参数);利用训练样本集对搭建的哮喘病模型进行重新训练,直至获得的训练好的模型在验证样本集上的哮喘病诊断准确率大于等于85%时,获得最终模型;再将最终模型用于哮喘病的辅助诊断。
机器智能诊断结果中可以进行可视化设计,包括以下步骤:
利用训练好的模型进行系统的构建,并设计可视化操作界面,使用者可以将自己的血常规数据输入系统后,系统根据使用者的各项数据进行诊断是否患有哮喘病。经过大量数据测试,系统的验证准确率达到96.5%以上,具有实用价值。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (7)
1.一种基于决策树和改进SMOTE算法的哮喘病诊断系统,其特征在于,包括数据采集与处理模块、过采样处理模块、决策树训练模块、检测模块和诊断应用模块;所述数据采集与处理模块用于采集血常规体检数据,并对采集的数据进行缺失值清洗、填充缺失值内容或重新取数、删除内容不符合数据、去除重复值或不合理值,保证数据之间的正确关联性处理;离散数据进行One-Hot编码处理;将预处理后的数据输入过采样处理模块;所述过采样处理模块用于对输入的数据进行处理,将PSO与SMOTE优化算法处理平衡后的数据分为训练样本集和验证样本集两组;所述决策树训练模块采用CART回归树算法搭建哮喘病诊断模型,使用MEP后剪枝算法计算误差并进行剪枝,避免欠拟合风险;再利用训练样本集进行哮喘病诊断训练;所述检测模块用于加载训练好的哮喘病诊断模型,利用验证样本集对训练好的哮喘病诊断模型进行验证;所述诊断应用模块利用训练好的哮喘疾病诊断模型作为最终应用模型,用于哮喘病的辅助诊断;
所述过采样处理模块包括以下步骤:
S2.1:采用K-means聚类算法对少数类样本进行聚类,形成固定K个簇并记录下每一个簇心:
其中xi代表数据集中第i个数据样本,ωj表示第j个聚类簇;zj表示第j个聚类簇的簇心;
S2.2:在少数类样本与其最临近n个样本中选取m个采样点,采样率使用PSO粒子群算法进行优化:
其中,b1和b2为加速常数,前者为每个粒子的个体的个体学习因子,后者为每个粒子的社会学习因子,w代表惯性因子,其值为非负,i表示第i个粒子,d表示粒子的第d个维度,v代表的是速度,x代表位置;r1,r2表示两位位于[0,1]的随机数,pbest[i]是指粒子取得最高或最低适应度的位置,gbest[i]是指整个系统取得最高或最低适应度时的位置;
S2.3:选择好原始点和采样率之后,生成新的少数类样本:
Xnew=X+rand(0,1)*(Mi-X),i=1,2,,,,N
其中,Xnew为新插入样本;X为选择的原始样本数据;rand(0,1)表示0与1之间的某一个随机数;Mi为原始样本数据X的最临近中通过PSO优化后的最佳采样点;
S2.4:如果在样本新样本位置中,少数类样本与多数类样本的比例小于1/2,则保留样本,否则重新插值生成新样本;
S2.5:当少数类样本个数与多数类样本个数达到平衡,结束循环,否则继续生成新样本。
2.如权利要求1所述的基于决策树和改进SMOTE算法的哮喘病诊断系统,其特征在于,所述数据采集与处理模块包括数据采集和数据清洗,具体包括以下内容:数据采集:获取血常规数据;
缺失值清洗:确定缺失值范围,对每个字段计算缺失值比例,按照缺失值比例和字段重要性,采用以下的方式清洗:去除不需要字段、无意义的字段;填充缺失值的内容或重新取数;
格式内容清洗:时间日期数值显示格式、内容中不该存在的字符、字段内容与该字段应有内容不符;
逻辑错误清洗:包括去重、去除不合理值、修正矛盾内容;
非需求数据清洗:对不需要的字段进行删除处理;
关联性验证:在数据来源于多张表或数据库的情况下,保证数据之间关联的正确性,防止数据之间出现关联错误或是互相矛盾的情况。
3.如权利要求1所述的基于决策树和改进SMOTE算法的哮喘病诊断系统,其特征在于,所述决策树训练模块具体包括以下步骤:
S3.1:在训练样本的属性空间中,将一个区域划分成两个子区域,并确定子区域的输出值,选择最优切分点j和切分点s,求解
其中R1和R2代表划分之后的空间,c1,c2分别代表R1,R2空间中y的均值,遍历变量j,对固定的划分变量j扫描切分点s,使得上述公式达到误差最小的变量(j,s);
S3.2:用(j,s)划分区域并决定响应的输出值:
R1(j,s)={x(j)}≤s,R2(j,s)={x|x(j)}≤s
其中,cm的是每个子集中所有样本的目标变量y的平均值,Nm代表子区域数据个数,yi代表Rm空间中每个数据的特征值,Rm代表划分空间的数量;
S3.3:对两个子区域重复的调用步骤S3.1和S3.1,直到满足最优切分变量和切分点条件;
S3.4:将数据特征空间划分为M个区域R1,R2,R3.......RM,构建决策树:
其中,cm的是每个子集中所有样本的目标变量y的平均值,并以此作为该子集的预测值,M代表划分区域的个数;
S3.5:进行MEP后剪枝算法,对决策树进行后剪枝;
S3.6:使用训练集的数据对决策树进行训练。
4.如权利要求3所述的基于决策树和改进SMOTE算法的哮喘病诊断系统,其特征在于,所述步骤3.4的MEP后剪枝算法,具体步骤如下:
1)如果样本共有K类,那么在决策树节点t的训练样本中,属于类别i的概率如下式:
2)节点t的预测错误率Er(t)定义为下式:式中:Pai为i类样本的先验概率,即类别i的样本在整个数据集的占比;m非定值,具体为Pai对后验概率Pi的影响因子;
如果所有类别的先验概率都相同时,即Pai=1/k,(i=1,2,,,,k),即m=k,此时的Er(t)可以表示为
上式:n(t)为节点t的样本总数;ni(t)为节点t中主类的样本数量;
3)分别计算非叶节点的误差Er(Tt)并且加权相加,如果节点误差大于分支误差的加权和则保留该节点,否则剪掉该节点。
5.如权利要求3所述的基于决策树和改进SMOTE算法的哮喘病诊断系统,其特征在于,所述步骤S3.5具体包括以下内容:
如训练好的哮喘病诊断模型在验证样本集上的哮喘病诊断准确率大于等于85%,则利用训练好的哮喘病诊断模型作为最终模型,将最终模型用于哮喘病的诊断;
否则,根据网格搜索中输入的参数列表,选出列表中经过实验找出最优的参数max_depth、criterion、class_weight;利用训练样本集对搭建的哮喘病模型进行重新训练,直至获得的训练好的模型在验证样本集上的哮喘病诊断准确率大于等于85%时,获得最终模型;再将最终模型用于哮喘病的辅助诊断。
6.如权利要求1所述的基于决策树和改进SMOTE算法的哮喘病诊断系统,其特征在于,所述诊断应用模块包括以下具体步骤:
S5.1:收集病人体检血常规的数据;
S5.2:数据进行处理:包括数据清洗;PSO与SMOTE算法优化数据,使得数据正负样本平衡;
S5.3:将处理后的数据输入哮喘诊断决策树最终模型;
S5.4:机器智能诊断结果;
S5.5:辅助医生诊断哮喘病。
7.如权利要求1所述的基于决策树和改进SMOTE算法的哮喘病诊断系统,其特征在于,所述数据采集的样本具有23个特征,包括:性别,年龄,嗜碱细胞比例,嗜碱细胞计数,嗜酸细胞比例,嗜酸细胞计数,红细胞压积,血红蛋白,淋巴细胞比例,淋巴细胞计数,平均红细胞血红蛋白含量,平均红细胞血红蛋白浓度,平均红细胞体积,单核细胞比例,单核细胞计数,平均血小板体积,中性粒细胞比例,中性粒细胞计数,血小板压积,血小板分布宽度,血小板计数,红细胞计数,红细胞分布宽度,白细胞计数,诊断结果。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110302072.1A CN112951413B (zh) | 2021-03-22 | 2021-03-22 | 一种基于决策树和改进smote算法的哮喘病诊断系统 |
PCT/CN2021/092681 WO2022198761A1 (zh) | 2021-03-22 | 2021-05-10 | 一种基于决策树和改进smote算法的哮喘病诊断系统 |
AU2021103976A AU2021103976A4 (en) | 2021-03-22 | 2021-07-08 | Asthma diagnosis system based on decision tree and improved SMOTE algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110302072.1A CN112951413B (zh) | 2021-03-22 | 2021-03-22 | 一种基于决策树和改进smote算法的哮喘病诊断系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112951413A CN112951413A (zh) | 2021-06-11 |
CN112951413B true CN112951413B (zh) | 2023-07-21 |
Family
ID=76227537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110302072.1A Active CN112951413B (zh) | 2021-03-22 | 2021-03-22 | 一种基于决策树和改进smote算法的哮喘病诊断系统 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN112951413B (zh) |
AU (1) | AU2021103976A4 (zh) |
WO (1) | WO2022198761A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114091026A (zh) * | 2021-11-25 | 2022-02-25 | 云南电网有限责任公司信息中心 | 一种基于集成学习的网络异常入侵检测方法和系统 |
CN114611616B (zh) * | 2022-03-16 | 2023-02-07 | 吕少岚 | 一种基于集成孤立森林的无人机智能故障检测方法及系统 |
CN115169556B (zh) * | 2022-07-25 | 2023-08-04 | 美的集团(上海)有限公司 | 模型剪枝方法及装置 |
CN116434950B (zh) * | 2023-06-05 | 2023-08-29 | 山东建筑大学 | 基于数据分簇和集成学习的孤独症谱系障碍的诊断系统 |
CN117198517A (zh) * | 2023-06-27 | 2023-12-08 | 安徽省立医院(中国科学技术大学附属第一医院) | 基于机器学习的运动反应性评估和预测模型的建模方法 |
CN117637154B (zh) * | 2024-01-27 | 2024-03-29 | 南通大学附属医院 | 一种基于优化算法的神经内科重症指标预测方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930856A (zh) * | 2016-03-23 | 2016-09-07 | 深圳市颐通科技有限公司 | 基于改进dbscan-smote算法的分类方法 |
CN109147949A (zh) * | 2018-08-16 | 2019-01-04 | 辽宁大学 | 一种基于分类回归树来用于检测教师亚健康状态的方法 |
CN111145902A (zh) * | 2019-12-06 | 2020-05-12 | 江苏大学 | 一种基于改进人工神经网络的哮喘病诊断方法 |
CN112102945A (zh) * | 2020-11-09 | 2020-12-18 | 电子科技大学 | 一种用于预测covid-19病患重症化的装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020004178A (ja) * | 2018-06-29 | 2020-01-09 | ルネサスエレクトロニクス株式会社 | 学習モデルの評価方法、学習方法、装置、及びプログラム |
-
2021
- 2021-03-22 CN CN202110302072.1A patent/CN112951413B/zh active Active
- 2021-05-10 WO PCT/CN2021/092681 patent/WO2022198761A1/zh active Application Filing
- 2021-07-08 AU AU2021103976A patent/AU2021103976A4/en not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930856A (zh) * | 2016-03-23 | 2016-09-07 | 深圳市颐通科技有限公司 | 基于改进dbscan-smote算法的分类方法 |
CN109147949A (zh) * | 2018-08-16 | 2019-01-04 | 辽宁大学 | 一种基于分类回归树来用于检测教师亚健康状态的方法 |
CN111145902A (zh) * | 2019-12-06 | 2020-05-12 | 江苏大学 | 一种基于改进人工神经网络的哮喘病诊断方法 |
CN112102945A (zh) * | 2020-11-09 | 2020-12-18 | 电子科技大学 | 一种用于预测covid-19病患重症化的装置 |
Also Published As
Publication number | Publication date |
---|---|
AU2021103976A4 (en) | 2021-09-09 |
CN112951413A (zh) | 2021-06-11 |
WO2022198761A1 (zh) | 2022-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112951413B (zh) | 一种基于决策树和改进smote算法的哮喘病诊断系统 | |
CN110680326B (zh) | 基于深度卷积神经网络的尘肺病鉴别及分级判定方法 | |
CN109350032A (zh) | 一种分类方法、系统、电子设备及存储介质 | |
CN106202891B (zh) | 一种面向医疗质量评价的大数据挖掘方法 | |
CN107066791A (zh) | 一种基于病人检验结果的辅助疾病诊断方法 | |
CN108304887A (zh) | 基于少数类样本合成的朴素贝叶斯数据处理系统及方法 | |
CN112201330B (zh) | 结合DRGs工具和贝叶斯模型的医疗质量监测评估方法 | |
CN108346474A (zh) | 基于单词的类内分布与类间分布的电子病历特征选择方法 | |
CN111968741A (zh) | 基于深度学习与集成学习的糖尿病并发症高危预警系统 | |
CN113674864B (zh) | 一种恶性肿瘤合并静脉血栓栓塞症风险预测方法 | |
CN113392894A (zh) | 一种多组学数据的聚类分析方法和系统 | |
CN113470816A (zh) | 一种基于机器学习的糖尿病肾病预测方法、系统和预测装置 | |
WO2022166158A1 (zh) | 一种基于卷积生存网络的血透并发症长期风险预测系统 | |
CN111145902A (zh) | 一种基于改进人工神经网络的哮喘病诊断方法 | |
CN113113152A (zh) | 针对新型冠状病毒肺炎的疾病数据集样本获取处理方法、系统、装置、处理器及其存储介质 | |
CN109907751B (zh) | 一种基于人工智能监督学习的实验室胸痛数据检查辅助识别方法 | |
CN113707317B (zh) | 一种基于混合模型的疾病危险因素重要性分析方法 | |
CN113539473A (zh) | 一种仅使用血常规检验数据诊断布氏杆菌病的方法及系统 | |
CN111261283B (zh) | 基于金字塔型卷积层的心电信号深度神经网络建模方法 | |
CN112967803A (zh) | 基于集成模型的急诊患者早期死亡率预测方法及系统 | |
CN109300545B (zh) | 一种基于rf的地中海贫血病的风险预警方法 | |
CN116564521A (zh) | 一种慢性病风险评估模型建立方法、介质及系统 | |
Du et al. | Prediction of pregnancy diabetes based on machine learning | |
Xu et al. | Hybrid label noise correction algorithm for medical auxiliary diagnosis | |
Mayya et al. | A novel medical support deep learning fusion model for the diagnosis of COVID-19 |
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 |