一种基于机器学习的慢性阻塞性肺疾病测试系统的制作方法

文档序号:12734456阅读:397来源:国知局
一种基于机器学习的慢性阻塞性肺疾病测试系统的制作方法与工艺

本发明涉及医疗数据挖掘领域,具体为利用机器学习的方法,构建的慢性阻塞性肺疾病测试系统。



背景技术:

气流受限是慢性阻塞性肺疾病(COPD)的最基本特征。而肺功能检查对评估气流受限程度具有重要意义,是应用最广、重复性最好的对COPD病人进行的常规检查。目前,基于肺功能生理指标与气流受限程度的关系构建的慢性阻塞性肺疾病测试系统尚没有公开的技术资料。目前,通常是以第一秒用力呼气容积(FEV1)和FEV1与用力肺活量(FVC)之比(FEV1/FVC)下降来确定。除此以外,第二最大呼气流量-容积曲线(MEFV)、呼气峰流速(PEF)、残气容积(RV)与肺总量(TLC)的比值(RV/TLC)、一氧化碳弥散量(DLCO)与肺泡通气量(VA)之比(DLCO/VA)等,也被作为气流受限的参考指标。但是,在实际中发现,上述理化指标相似的COPD患者却具有不同的临床表现、不同的病理变化、不同的气道炎症和全身炎症状态、不同的生活质量和不同的疾病预后。目前,基于数据挖掘和机器学习相关理论,探索基于肺功能理化指标与COPD的相关性的慢性阻塞性肺疾病测试系统尚未出现。



技术实现要素:

为了解决现有技术的不足,本发明提供了一种基于机器学习的慢性阻塞性肺疾病测试系统,基于决策树的机器学习模型,使得慢性阻塞性肺疾病与病患的肺部各项生理指标建立联系,具有测试准确度高的有益效果;

本发明采用的技术方案为:

一种基于机器学习的慢性阻塞性肺疾病测试系统,包括:肺部机能检测装置,用于获取被测者肺部机能检测项目及其测量值;处理器,与肺部机能检测装置相连,具有主成分特征分析模块、决策树构建模块和决策树测试模块;显示单元,与处理器相连,用于输出处理器的结果;

所述主成分特征分析模块,建立与被测者肺部机能测量值相对应的第一样本,对所述第一样本进行因子分析,得到基于被测者肺部机能检测项目的若干个主成分特征,建立以若干个主成分特征所对应的样本集合为第二样本;

所述决策树构建模块,以信息增益为度量,构造熵值下降最快的决策树模型;

所述决策树测试模块,用于将所述第二样本随机分为训练集和预测集,训练集用于生成学习器,在学习器的基础上,根据所述决策树模型测试预测集中的第二样本是否表现为慢性阻塞性肺疾病。

本发明基于决策树的机器学习模型,使得慢性阻塞性肺疾病与病患的肺部各项生理指标建立联系,具有测试准确度高、可靠性强且较稳定的有益效果。

进一步的,本系统还包括筛选模块,用于对所述被测者肺部机能检测项目及其测量值进行筛选,剔除被测者肺部机能非重要检测项目中的测量缺失值。

进一步的,本系统还包括拟合模块,用于对所述被测者肺部机能重要检测项目中的测量缺失值进行拟合。

进一步的,本系统还包括转换模块,用于对经筛选和拟合后的被测者肺部机能检测项目测量值进行格式转换。

进一步的,本系统还包括决策树优化模块,其通过对所述决策树模型剪枝部分节点得到若干候选决策树模型,采用损失函数评价上述各候选决策树,选择损失函数值最小的候选决策树模型作为优化的决策树模型;在所述决策树测试模块中,采用上述优化的决策树模型进行预测。

进一步的,所述损失函数为决策树模型中所有叶节点的熵之和。

所述损失函数为:

其中C(T)表示训练集的预测误差,|Tleaf|表示模型的复杂度,a是参数,称为剪枝系数,用来调节两者的权重。a较小时,可以选择较复杂的模型,当a=0时,未剪枝的决策树损失最小;当a较大时,选择较简单的模型,当a→∞时,单根结点的决策树损失最小。剪枝模块用于在a确定情况下,通过设定一阈值,去除损失函数之值小于阈值的中间节点。

进一步的,将所述损失函数替换为错误率函数。

进一步的,所述主成分特征分析模块包括偏相关性检验模块和因子分析模块;所述偏相关性检验模块,用于检查被测者肺部机能检测项目测量值间的偏相关性;所述因子分析模块,根据上述偏相关性,采用因子分析法对被测者肺部机能检测项目进行去相关化,得到若干个主成分特征。

进一步的,所述主成分特征分析模块还包括呈现模块,用于呈现主成分特征与所述被测者肺部机能检测项目之间的对应关系。

进一步的,所述因子分析模块采用降维模块,用于根据样本协方差矩阵的特征值,对样本进行降维,得到所述主成分特征。

进一步的,所述降维模块中主成分特征的个数通过交叉验证方式或与设定阈值比较得出。

与现有技术相比,本发明的有益效果是:

本发明基于决策树的机器学习模型,使得慢性阻塞性肺疾病与病患的肺部各项生理指标建立联系,具有测试准确度高、可靠性强且较稳定的有益效果。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本发明信息流转示意图;

图2为本发明肺病检测数据的KMO与Bartlett检定结果;

图3为本发明公因子方差图;

图4为本发明说明的方差总计图;

图5为本发明旋转成分矩阵图;

图6为本发明优化前的决策树;

图7为本发明优化前的判定结果对比图;

图8为本发明优化后的决策树;

图9为本发明优化后的判定结果对比图。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

实施例1:

一种基于机器学习的慢性阻塞性肺疾病测试系统,包括:肺部机能检测装置,用于获取被测者肺部机能检测项目及其测量值;处理器,与肺部机能检测装置相连,具有主成分特征分析模块、决策树构建模块和决策树测试模块;显示单元,与处理器相连,用于输出处理器的结果;

所述主成分特征分析模块,建立与被测者肺部机能测量值相对应的第一样本,对所述第一样本进行因子分析,得到基于被测者肺部机能检测项目的若干个主成分特征,建立以若干个主成分特征所对应的样本集合为第二样本;

所述决策树构建模块,以信息增益为度量,构造熵值下降最快的决策树模型;

所述决策树测试模块,用于将所述第二样本随机分为训练集和预测集,训练集用于生成学习器,在学习器的基础上,根据所述决策树模型测试预测集中的第二样本是否表现为慢性阻塞性肺疾病。

本实施例采用的数据总共有112例病人的肺功能检测报告,每个病人需要检测的肺部生理指标有57项,表1所列的有27项主要指标。其中医生诊断为COPD的患者为17例,其余的肺功能虽然存在限制性功能障碍和阻塞性通气功能障碍,但也可能是支气管哮喘等其他疾病。

表1肺功能检测数据

进一步的,本系统还包括筛选模块,用于对所述被测者肺部机能检测项目及其测量值进行筛选,剔除被测者肺部机能非重要检测项目中的测量缺失值;拟合模块,用于对所述被测者肺部机能重要检测项目中的测量缺失值进行拟合;转换模块,用于对经筛选和拟合后的被测者肺部机能检测项目测量值进行格式转换。

首先,进行缺失值清洗。我们观察数据,计算其缺失值比例,确定缺失值的范围。按照缺失比例和字段重要性,采取不同的处理策略。对于重要性高、缺失率低的特征,通过经验或业务知识估计进行填充;对于重要性高、缺失率高的特征,使用其他比较复杂的模型计算补全。肺病检测报告中的变量VT、BF、MV、ERC、IC、FEF75/85、MMEF,缺失值因重要性高而缺失率低,通过拟合方法进行补充;例如70%的病人肺ERC的指标为1.5L,则对某一个病人缺失的ERC补位1.5L。病检测报告中变量MVV,由于缺失率高且重要性低直接将其去除。

其次,进行数据格式转换。对导入数据存在的部分列没有对齐的问题,以及多出列的情况,进行人工处理。

再次,进行非需求数据清洗。数据中的测试号、住院号、姓名、种族、科别与本发明无关,是非需求数据,因此将其直接删除掉。

另外,由于本发明采用的数据总共包含有57个特征,通过分析发现,特征BF(预)[1/min]、BF(实)[1/min]和BF%(实/预)数据存在问题,因此将其剔除,只对剩余的54个指标进行后续研究。

所述主成分特征分析模块包括偏相关性检验模块和因子分析模块;所述偏相关性检验模块,用于检查被测者肺部机能检测项目测量值间的偏相关性;所述因子分析模块,根据上述偏相关性,采用因子分析法对被测者肺部机能检测项目进行去相关化,得到若干个主成分特征。

采用因子分析方法得到主成分特征,具体的首先对被测的54个特征进行偏相关性检验。具体的,本发明采用KMO和Bartlett球形度检验。原始数据相关程度越高,越适合采用因子分析法进行分析。KMO的值越接近于0,表明原始变量相关性越弱;KMO的值越接近于1,则表明原始变量相关性越强。而Bartlett球形度检验统计量主要看它的显著性,显著性低于0.05时则表明数据分布为球形分布,变量之间具有结构效度,证明原始数据适合进行因子分析。分析结果如图2所示。可见,KMO=0.749>0.5且Bartlett的显著性为0小于0.05,说明特征变量间具有显著相关性,适合进行因子分析。公因子方差(图3所示),反映了信息的提取程度((提取值/起始值)/100)和信息的损失量(1-提取程度)。对比起始值和提取值,可以看出信息的损失量。可以看到,除了变量FEF50(预)[l/s]和MMEF75/25(预)[l/s]外,都低于40%,而且大部分损失量都在10%之内。由此可知,损失量不大,比较令人满意。

为了进一步确定主成分特征的个数,本发明对原始54个特征进行因子分析,得到说明方差数总计图,如图4所示。其中包含54个特征初始特征值和方差贡献率,以及提取13个主成分的特征值和方差贡献率。按照特征值大于1的原则可以提取出13个主成分(FAC1-FAC13)。这13个主成分说明方差:累积方差贡献率达到86.486%>85%,信息的损失量不到15%。这样分析出来的主因子令人满意,可以用来训练模型。本发明进一步得到54个特征的旋转成分矩阵,如图5所示。可以直观地反映出哪些原始特征归为了同一类成分,以及初始特征在成分中所具有的载荷大小。

接着对这54个特征进行因子分析,具体采用降维模块进行因子分析,根据要达到的目标,要求低秩子空间对样本具有最大可分性,因此本发明拟对54个指标特征进行降维,去掉特征之间的多重相关性。

包括:对所有样本去中心化;求样本的协方差矩阵;对协方差矩阵做特征值分解;取最大的d'个特征值所对应的特征向量w1,w2,...wd'。参数d'可以通过交叉验证的方式获得,也可以设定阈值τ,选取使公式1成立的最小的d',其中λij均为特征值。本文设定阈值为τ=0.85。i,j均为累加和控制变量,i=1,2,...,d';j=1,2,...d

最后提取出13个主成分特征(FAC1-FAC13)。

其中λij均为特征值。显然,低维空间与原始高维空间必有不同,因为舍弃了最小的d-d'个特征值对应的特征向量,这是降维的结果。但舍弃这部分信息是必要的,一方面能使样本的采样密度增大,这正是降维的目的所在;另一方面,在一定程度上具有去噪的效果,因为最小的特征值所对应的特征向量往往与噪声有关。

决策树构建模块:以信息增益为度量,构造决策树。在决策树的内部节点进行属性值的比较,并根据不同属性判断从该节点向下分支,构造一棵熵值下降最快的树,到叶子节点处的熵值为零。

数据集D的经验熵计算为公式2,特征A的经验条件熵为公式3。

其中,|D|表示样本个数。设有K个类Ck,k=1,2,...K,|Ck|为属于类Ck的样本个数,有设特征A有n个不同的取值(a1,a2,...an)。根据特征A的取值将D划分为n个子集D1,D2,...Dn,|Di|为Di的样本个数,有:记子集Di中属于类Ck的样本的集合为Dik,|Dik|为Dik的样本个数。

本发明将得到的13个主成分作为自变量,慢性阻塞性肺疾病判定变作为因变量,构建决策树模型,将数据随机分为85%的训练集和15%的测试集,显著性水平设置为0.05,使用Bonferroni方法调整重要值,建立最大树深度为7,最小父节点为10,最小子节点为4的决策树,如图6所示。从节点0开始向下划分为节点1、节点2、节点3和节点4,节点3继续划分为节点5和节点6两个子节点;而节点1、2和4因为不能继续划分为两个节点数大于4的子节点所以不在继续划分。从而得到了一棵完整的决策树。用得到的决策树模型分别对训练集和测试集进行判定,得到分类结果如图7所示。

由图7可知,决策树模型对于训练集的正确率为89.6%,而对于测试集的正确率为68.8.3%,两次结果均大于65%。因此,我们有理由相信,这个决策树模型在判定是否患有COPD疾病上有65%的把握。显然,这个结果还不够令人满意,有过拟合现象。因此,要对决策树模型进行进一步优化。

决策树优化模块,其通过对所述决策树模型剪枝部分节点得到若干候选决策树模型,采用损失函数评价上述各候选决策树,选择损失函数值最小的候选决策树模型作为优化的决策树模型;在所述决策树测试模块中,采用上述优化的决策树模型进行预测。

所述损失函数为决策树模型中所有叶节点的熵之和。

具体的,对决策树进行剪枝优化,由完全树T0开始,剪枝部分结点得到T1,再次剪枝部分结点得到T2…直到仅剩树根的树Tk。在测试数据集上对这k个树分别评价,选择损失函数最小的树Ta,如算法3所示。决策树剪枝是通过最小化损失函数方式迭代实现。决策树学习的损失函数为公式4。

其中C(T)表示训练集的预测误差,|Tleaf|表示模型的复杂度,a是参数,称为剪枝系数,用来调节两者的权重。a较小时,可以选择较复杂的模型,当a=0时,未剪枝的决策树损失最小;当a较大时,选择较简单的模型,当a→∞时,单根结点的决策树损失最小。剪枝就是在a确定情况下,找损失函数最小的树。算法中使用测试集选择最优子树的标准,可以使用评价函数也可以使用其他评价函数,如错误率。

对求得的决策树模型进行剪枝优化处理,得到最优的决策树模型,树的最大深度为3,父节点最小为10,子节点最小为10,如图8所示。再使用得到的决策树模型分别对训练集和测试集进行判定,得到分类结果如图9所示。

可见,优化后的模型在训练集的正确率只稍微下降了一点,而预测集的正确率则从68.8%提高了到了81.3%,优化后的模型有很大的改进,能更好的判定是否患有COPD。

实施例2:为了验证模型的稳健性和可靠性,我们随机提取出变量smoking为0,即无抽烟史的48个肺功能数据,采用本发明的一种基于机器学习的慢性阻塞性肺疾病测试系统,按照因子分析出的主成分评分系数矩阵,将54个变量转化成13个变量FAC1-FAC13,导入优化后的决策树模型进行预测,结果表明有6个人患有COPD,对比真实情况(也是只有6个人患有COPD),发现其中5个人都预测正确,准确度达到83%,结果不低于模型可预测范围,检验可知决策树模型具有一定的可靠性和稳健性,比较令人满意。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1