一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

疾病分类方法及疾病分类装置与流程

2022-03-16 02:33:13 来源:中国专利 TAG:


1.本公开涉及一种疾病分类方法及疾病分类装置,尤其涉及一种利用多个模型提高疾病分类准确度的疾病分类方法及疾病分类装置。


背景技术:

2.医学上针对一种疾病,有许多种不同的检测工具可以使用,而每种检测工具拥有不同特性。举例来说,高灵敏度的检测方法倾向为把结果判定成阳性,若此检测方法检测结果为阴性,则可信度会较高。高特异度的检测方法倾向为把结果判定成阴性,若此检测方法检测结果为阳性,则可信度会较高。
3.通常医生不会仅凭单一种工具诊断病人是否得到某种疾病,而会做许多测试再综合各项结果。不同测试所需要输入的信息亦不相同,例如:病人的基本数据、疾病史、以及做某项测试得到的数值,可能是心跳、血压、ecg连续数值或x光图片等,其中有的需要靠医生人工判定,有的则需要机器给出结果。因此,如何通过各种模型来准确地判定病人的检测结果是本领域技术人员应致力的目标。


技术实现要素:

4.有鉴于此,本公开提供一种疾病分类方法及疾病分类装置,利用多个模型提高疾病分类准确度。
5.本公开提出一种疾病分类方法,包括:将多个样本输入第一阶段模型并获得一阶判断结果;将第一阶段模型判断为阳性的多个第一样本输入第二阶段高特异度模型以获得判断为阳性的多个第二样本及判断为阴性的多个第三样本并确认第二样本;将第一阶段模型判断为阴性的多个第四样本输入第二阶段高灵敏度模型以获得判断为阳性的多个第五样本及判断为阴性的多个第六样本并排除第六样本;获得第二样本及第六样本的二阶判断结果;将未被确认或排除的第三样本及第五样本输入第三阶段模型,并获得第三样本及第五样本的三阶判断结果;根据一阶判断结果计算第一准确度并根据二阶判断结果及三阶判断结果计算第二准确度;以及当第二准确度大于第一准确度时,套用第二阶段高特异度模型、第二阶段高灵敏度模型及第三阶段模型。
6.本公开提出一种疾病分类装置,包括处理器及内存耦接到处理器。处理器将多个样本输入第一阶段模型并获得一阶判断结果;将第一阶段模型判断为阳性的多个第一样本输入第二阶段高特异度模型以获得判断为阳性的多个第二样本及判断为阴性的多个第三样本并确认第二样本;将第一阶段模型判断为阴性的多个第四样本输入第二阶段高灵敏度模型以获得判断为阳性的多个第五样本及判断为阴性的多个第六样本并排除第六样本;获得第二样本及第六样本的二阶判断结果;将未被确认或排除的第三样本及第五样本输入第三阶段模型,并获得第三样本及第五样本的三阶判断结果;根据一阶判断结果计算第一准确度并根据二阶判断结果及三阶判断结果计算第二准确度;以及当第二准确度大于第一准确度时,套用第二阶段高特异度模型、第二阶段高灵敏度模型及第三阶段模型。
7.基于上述,本公开的疾病分类方法及疾病分类装置利用第一阶段模型获得多个样本的一阶判断结果。第一阶段模型判断为阳性的第一样本会输入第二阶段高特异度模型以获得判断为阳性的多个第二样本及判断为阴性的多个第三样本并确认第二样本。第一阶段模型判断为阴性的第四样本会被输入第二阶段高灵敏度模型以获得判断为阳性的多个第五样本及判断为阴性的多个第六样本并排除第六样本。未被确认或排除的第三样本及第五样本会被输入第三阶段模型。当第二阶段模型结合第三阶段模型判断结果的准确度大于第一阶段模型判断结果的准确度时,套用第二阶段高特异度模型、第二阶段高灵敏度模型及第三阶段模型以提供疾病预测结果。
8.为让本公开的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
9.包含附图以便进一步理解本公开,且附图并入本说明书中并构成本说明书的一部分。附图说明本公开的实施例,并与描述一起用于解释本公开的原理。
10.图1为根据本公开一实施例的疾病分类方法的流程图;
11.图2为根据本公开一实施例的数据处理的流程图;
12.图3为根据本公开一实施例的训练模型的流程图;
13.图4为根据本公开一实施例的第一阶段测试的流程图;
14.图5为根据本公开一实施例的第二阶段确认及排除的流程图;
15.图6为根据本公开一实施例计算第二阶段模型调整后机率或第三阶段模型调整后机率的流程图;
16.图7为根据本公开一实施例的第三阶段测试的流程图。
17.附图标号说明
18.s101~s113:步骤;
19.s201~s209:步骤;
20.s301~s313:步骤;
21.s401~s406:步骤;
22.s501~s512:步骤;
23.s601~s608:步骤;
24.s701~s709:步骤。
具体实施方式
25.在一实施例中,本公开的疾病分类方法可包括:将多个样本输入第一阶段模型并获得一阶判断结果;将第一阶段模型判断为阳性的多个第一样本输入第二阶段高特异度模型以获得判断为阳性的多个第二样本及判断为阴性的多个第三样本并确认(rule in)第二样本;将第一阶段模型判断为阴性的多个第四样本输入第二阶段高灵敏度模型以获得判断为阳性的多个第五样本及判断为阴性的多个第六样本并排除(rule out)第六样本;获得第二样本及第六样本的二阶判断结果;将未被确认或排除的第三样本及第五样本输入第三阶段模型,并获得第三样本及第五样本的三阶判断结果;根据一阶判断结果计算第一准确度
并根据二阶判断结果及三阶判断结果计算第二准确度;以及当第二准确度大于第一准确度时,套用第二阶段高特异度模型、第二阶段高灵敏度模型及第三阶段模型。值得注意的是,确认第二样本代表第二样本在高特异度模型中检测结果为阳性,排除第六样本代表第六样本在高灵敏度模型中检测结果为阴性。第二阶段高特异度模型的特异度大于第一门坎值。第二阶段高灵敏度模型的灵敏度大于第二门坎值。第一样本及第四样本的数量总合等于样本的数量。一阶判断结果、二阶判断结果及三阶判断结果包括阳性及阴性。第一准确度根据一阶判断结果及样本的实际阳性属性或实际阴性属性来计算。
26.在一实施例中,本公开的疾病分类装置可包括处理器及内存。内存耦接到处理器。内存可储存或暂存第一阶段模型、第二阶段高特异度模型、第二阶段高灵敏度模型及第三阶段模型。处理器可执行上述疾病分类方法的步骤。
27.图1为根据本公开一实施例的疾病分类方法的流程图。
28.请参照图1,本公开一实施例的疾病分类方法可先进行数据处理s101并利用处理后的数据来训练模型s102。模型训练完成之后可进行第一阶段测试s103并对应第一阶段测试来计算器率s104及计算损失s105。机率可为第一阶段测试所用的第一阶段模型对每个样本输出的机率,当一个样本的机率大于或等于切点则代表此样本在第一阶段模型的判断结果为阳性,当一个样本的机率小于切点则代表此样本在第一阶模型的判断结果为阴性。损失可相关于第一阶段模型的准确性。举例来说,第一阶段模型的准确性越高则损失越小。准确性例如是多个样本通过第一阶段模型正确判断出阳性或阴性的百分比。
29.在计算完第一阶段测试的机率及损失之后可进行第二阶段测试s106。第二阶段测试可包括利用第二阶段高特异度模型及第二阶段高灵敏度模型分别对第一阶段测试结果为阳性及阴性的样本进行测试。在第二阶段测试中会进行样本的确认及排除。未被确认或排除的样本将进入第三阶段测试s107并调整机率s108。此外,还会针对第二阶段测试及第三阶段测试来调整机率s109并判断与第一阶段测试相比损失是否下降s110。若损失下降则保留第二阶段模型及第三阶段模型s111。若损失没有下降则舍弃第二阶段模型及第三阶段模型s112,最后再提供疾病预测结果s113。
30.图2为根据本公开一实施例的数据处理的流程图。
31.请参照图2,本公开一实施例的数据处理获取可将输入数据s201分成数值型数据s202、类别型数据s203及连续型数据s204。数值型数据、类别型数据及连续型数据可分别进行标准化s205、独热编码s206及二元分类s207与特征获取s208等处理再进行整合输入。二元分类例如包括长短期记忆(long short term memory,lstm)与逻辑回归(logistic regression,lr)。特征获取可包括获取连续型数据的最大值、最小值、平均值及中位数等。
32.在一实施例中,为了建立模型,可收集数千位病患进行冠心病诊断的详细数据及诊断结果。除了病患基本数据、疾病史之外,亦有进行运动心电图测试额外收集数据并做处理及统整。
33.表一为进行冠心病诊断之病患基本临床数据范例。
34.表一
35.年龄77性别男身高176
体重70.7血型a抽烟是高血脂是高血压是糖尿病否
36.对于数值型数据,以年龄为例,设每个人的年龄为y,所有人平均为u,标准偏差为s,则将每个人的年龄转换为z,z=(y

u)/s。此标准化数值的实际意义为数值与平均相差几个标准偏差,此作法有助于降低不同字段间单位或者全距差异所造成的影响。表1中病患之年龄为77岁,若平均为59岁,标准偏差为11,则转换后结果为(77

59)/11=1.64。
37.关于类别型数据,以血型为例,血型共有a、b、o、ab型4种,若直接转换为代码1、2、3、4则模型会误认为a型与ab型距离最远,但实际上任两血型应为等距,因此我们将血型代码转换为如下表2。
38.表2
39.a1000b0100o0010ab0001
40.因此,血型将会由1个字段转变为4个字段。表1中病患血型为a,则转换后之血型为[1,0,0,0],以4个字段储存。
[0041]
表3
[0042]
时间i_sti_slopeii_stii_slopeiii_stiii_slope1-0.15-0.030.150.040.25-0.012-0.25-1.41-0.05-0.280.25-0.0330.2-2.450.65-0.450.41.044-0.05-0.36-0.25-0.44-0.20.2150-1.190.5-0.49-0.30.786-0.3-0.73-0.9-0.26-0.55-0.967-0.10.44-0.851-0.75-0.868-0.15-0.5-1.4-0.55-1.25-0.19-0.05-0.28-1.5-0.7-1.45-0.73
[0043]
对于连续型数据,进行统计特征提取以及使用模型进行初步预测。范例如表3,病患于运动心电图测试期间各阶段之心电图(electrocardiography,ecg)st段数值,实际共有12个导层(即,电极贴片贴在受测者12个部位),每个导层有st段时间差以及slope。表3所示为其中前3个导层i_st、i_slope、ii_st、ii_slope、iii_st、iii_slope于各阶段之数值。
[0044]
以i_st举例,取整个测试过程平均值、最大值、最小值,以及中位数,如下表4。
[0045]
表4
[0046]
mean_i_st-0.094
max_i_st0.2min_i_st-0.3med_i_st-0.1
[0047]
连续型数据亦可用来建立简单的lr模型或lstm模型,或是一维的卷积神经网络(convolutional neural network,cnn)深度学习模型,并进行预测以得到一初步的机率,可当作其中一个输入的字段。处理完后就可舍弃掉原始的连续型数据,由提取出的特征作为后面的输入。
[0048]
图3为根据本公开一实施例的训练模型的流程图。
[0049]
请参照图3,在一实施例中,整合输入s301的数据可作为训练数据s302、验证数据s303及测试数据s304。训练数据可用来训练模型s305且训练好的模型可利用验证数据来计算切点s306、计算lr (s307)及计算lr-(s308)。最终训练好的模型s309就可包括数据的输入格式s310、lr (s311)、切点s312及lr-(s313)等信息。
[0050]
举例来说,整合每位病患数据后,可将病患数据分为65%训练数据、15%验证数据及20%测试数据。训练数据用来训练模型。验证数据用来决定模型切点及参数。测试数据则在后续用来评估模型最终效果。
[0051]
在一实施例中,可使用训练数据建立多种机器学习模型。不同模型亦可以依照需求有不同的输入,模型能预测病患是否为阳性,并输出机率。表5为模型列表。
[0052]
表5
[0053]
模型种类判定树(decision tree)基于树(treebase)随机森林(random forest)整体基于树(treebase ensemble)极限梯度增加(xgboost)整体基于树(treebase ensemble)梯度增加(gradientboosting)整体基于树(treebase ensemble)额外树(extra tree)整体基于树(treebase ensemble)适应性增加(adaboost)整体基于树(treebase ensemble)k最近邻居(k-nearest neighbors)最近邻居(nearest neighbors)支持向量机(svm)支持向量机(support vector machine)逻辑回归(logisticregression)线性(linear)深度神经网络(dnn)深度学习(deep learning)
[0054]
关于切点的计算,模型输出机率须由切点决定为阳性/阴性。切点为0到1之间的数值。模型输出机率大于或等于切点则为阳性,模型输出机率小于切点则为阴性。切点可以由手动设定的目标来决定。下表6为医学上/分类时常用的目标。
[0055]
表6
[0056]
目标说明tp实际阳性且模型判定亦为阳性fp实际阴性但模型判定为阳性tn实际阴性且模型判定亦为阴性fn实际阳性但模型判定为阴性灵敏度(sensitivity)tp/(tp fn)
特异度(specificity)tn/(tn fp)ppvtp/(tp fp)npvtn/(tn fn)准确度(accuracy)(tp tn)/(tp tn fp fn)lr sensitivity/(1-specificity)lr-(1-sensitivity)/specificitylr /lr-(tp*tn)/(fp*fn)
[0057]
下表7为验证数据中10位病患使用随机森林(random forest)算法模型预测得到的机率。举例来说,挑选灵敏度以及特异度作为目标,并给予0.4及0.6的权重。
[0058]
表7
[0059]
病患实际属性随机森林算法模型输出机率00.60000.910.810.300.21010.900.200.7
[0060]
将切点由0.1每次增加0.1,调高至0.9,并测试灵敏度及特异度,依照权重计算分数,结果如下表8。
[0061]
表8
[0062]
切点0.10.20.30.40.50.60.70.80.9灵敏度0.750.750.750.500.500.500.500.500.25特异度0.170.170.500.500.500.500.670.830.83分数0.40.40.60.50.50.50.60.70.6
[0063]
由表8得到,切点为0.8时分数最高。因此最后选择切点为0.8,并记录随机森林算法模型切点0.8及lr 为3,lr-为0.6。
[0064]
图4为根据本公开一实施例的第一阶段测试的流程图。
[0065]
请参照图4,验证数据s401会被输入到第一阶段模型s402,以输出样本机率s403及输出样本分类s404。输出样本分类可包括阳性s405及阴性s406。
[0066]
举例来说,第一阶段模型测试中以随机森林算法模型为第一阶段模型。下表9为验证数据中的两个样本(即,切点为0.8的样本)。除了判定结果外,第一阶段模型输出的机率(即,前测机率)也会被记录。
[0067]
表9
[0068]
样本随机森林算法模型预测机率判定结果
10.60(阴性)20.91(阳性)
[0069]
在进入第二阶段及第三阶段前,可先计算目前第一阶段模型的准确度。若第二阶段及第三阶段的准确度并无改善,则放弃第二阶段及第三阶段模型。表10记录验证数据于第一阶段的结果,并以表6中的准确度对应损失(loss)的衡量数值,准确度越高越好。
[0070]
表10
[0071]
病患实际属性第一阶段模型判定结果随机森林算法模型输出机率000.6000010.9110.8100.3000.2100110.9000.2000.7
[0072]
由表10可得知,准确度为70%。也就是说,10笔数据中有7笔数据的病患实际属性与一阶判定结果相同。
[0073]
图5为根据本公开一实施例的第二阶段确认及排除的流程图。
[0074]
请参照图5,第一阶段判断出的阳性数据s501可被输入第二阶段高特异度模型s502以产生输出样本机率s503及输出样本分类s504,输出样本分类可包括阳性样本s505及阴性样本s506。在高特异度模型所输出的阳性样本可被确认(rule in)。第一阶段判断出的阴性数据s507可被输入第二阶段高灵敏度模型s508以产生输出样本机率s509及输出样本分类s510,输出样本分类可包括阳性样本s511及阴性样本s512。在高灵敏度模型所输出的阴性样本可被排除(rule out)。也就是说,在第二阶段中会将阳性数据送进高特异度的模型(即,倾向判定为阴性的模型),且第二阶段模型亦有切点以及lr 、lr-。第二阶段模型输出的机率可用以决定第二阶段判定结果。若第二阶段高特异度的模型判定亦为阳性,则有很高机率其阳性为真(即,确认)。类似地,在第二阶段中会将阴性数据送进高灵敏度的模型(即,倾向判定为阳性的模型),若第二阶段高灵敏度的模型判定亦为阴性,则有很高机率其阴性为真(即,排除)。
[0075]
在一实施例中,可依照第二阶段模型之lr 、lr-对第一阶段输出的机率作调整,而不是直接以第二阶段模型输出的机率为预测机率。图6为根据本公开一实施例计算第二阶段模型调整后机率或第三阶段模型调整后机率的流程图。请参照图6,第一阶段模型输出的样本机率可作为第二阶段模型及第三阶段模型的前测机率p(s601)。前测机率p可被换算成前测胜算比=p/1-p(s602)。新模型(例如,第二阶段模型或第三阶段模型)可判断是否为阳性s603。若新模型判断为阳性则将前测胜算比乘新模型的lr (s604)。若新模型判断为阴性则将前测胜算比乘新模型的lr-(s605)。接着,判断是否还有新模型s606。若还有新模型,例如还有第三阶段模型,则回到步骤s603继续判断第三阶段模型判断是否为阳性。若没有新
模型,则得到前测胜算比乘lr 或乘lr-的后测胜算比s607,并利用后测胜算比换算回后测机率=后测胜算比/(后测胜算比 1)s608。
[0076]
举例来说,假设第二阶段高灵敏度模型的切点为0.3,lr =1.5,lr-=0.3。第二阶段高特异度模型的切点为0.8,lr =3,lr-=0.6,在此省略第二阶段输出之机率,只列出第二阶段判定之结果。以下为调整第二阶段输出机率的范例。
[0077]
[调整第二阶段输出机率的范例]
[0078]
步骤1:一阶输出机率为0.6(或称为第一输出机率)。
[0079]
步骤2:一阶胜算比=0.6/0.4=1.5(或称为第一胜算比)。
[0080]
步骤3:一阶判定为阴性,送进二阶高灵敏度模型,判定为阳性,高灵敏度模型之lr 为1.5。二阶胜算比=1.5*1.5=2.25(或称为第二胜算比)。
[0081]
步骤4:二阶调整后输出机率=2.25/(2.25 1)=0.69(或称为第二输出机率)。
[0082]
表11为二阶调整后输出机率(即,后测机率)的范例。
[0083]
表11
[0084]
病患实际属性一阶判定结果一阶输出机率二阶判定结果二阶调整后机率000.610.690000(rule out)0010.91(rule in)0.96110.81(rule in)0.92100.310.39000.20(rule out)0.0710010110.91(rule in)0.96000.20(rule out)0.07000.710.78
[0085]
图7为根据本公开一实施例的第三阶段测试的流程图。
[0086]
请参照图7,第二阶段模型输出的样本分类可包括第二阶段高特异度模型所输出且被确认(rule in)的阳性样本s701及第二阶段高特异度模型所输出的阴性样本s702。第二阶段模型输出的样本分类还可包括第二阶段高灵敏度模型所输出的阳性样本s703及第二阶段高特异度模型所输出且被排除(rule out)的阴性样本s704。只有在第二阶段中没被确认或排除的第二阶段高特异度模型所输出的阴性样本及第二阶段高灵敏度模型所输出的阳性样本会被输入第三阶段模型s705并产生输出样本机率s706及输出样本分类s707。输出样本分类可包括阳性样本s708及阴性样本s709。
[0087]
举例来说,设第三阶段模型切点为0.5,lr =2,lr-=0.5。以下为调整第三阶段输出机率的范例。
[0088]
[调整第三阶段输出机率的范例]
[0089]
步骤1:一阶输出机率为0.6。
[0090]
步骤2:一阶胜算比=0.6/0.4=1.5。
[0091]
步骤3:一阶判定为阴性,送进二阶高灵敏度模型,判定为阳性。二阶高灵敏度模型之lr 为1.5。三阶模型判定为阴性,三阶模型lr-为0.5。三阶胜算比=1.5*1.5*0.5=1.125
(或称为第三胜算比)。
[0092]
步骤4:三阶调整后输出机率=1.125/(1.125 1)=0.53(或称为第三输出机率)。
[0093]
表12为三阶调整后输出机率(即,后测机率)的范例。
[0094]
表12
[0095][0096]
根据表12及表11中二阶判定结果被确认或移除的信息,可得到结合第二阶段模型及第三阶段模型的判断结果的准确度为80%。由于结合第二阶段模型及第三阶段模型的判断结果的准确度(例如,80%)大于第一阶段模型的判断结果的准确度(例如,70%),因此第二阶段模型及第三阶段模型可被套用以进行更多个数据验证。若结合第二阶段模型及第三阶段模型的判断结果的准确度小于等于第一阶段模型的判断结果的准确度,则舍弃第二阶段模型及第三阶段模型,并可寻找其他模型来作为新的第二阶段模型及第三阶段模型。
[0097]
在一实施例中,一模型也可设定一个阳性门坎值及一个阴性门坎值。举例来说,被模型判定为阳性的样本的后测机率必须大于阳性门坎值最后才判定为阳性。被模型判定为阴性的样本的后测机率必须小于阴性门坎值最后才判定为阴性。
[0098]
综上所述,本公开的疾病分类方法及疾病分类装置利用第一阶段模型获得多个样本的一阶判断结果。第一阶段模型判断为阳性的第一样本会输入第二阶段高特异度模型以获得判断为阳性的多个第二样本及判断为阴性的多个第三样本并确认第二样本。第一阶段模型判断为阴性的第四样本会被输入第二阶段高灵敏度模型以获得判断为阳性的多个第五样本及判断为阴性的多个第六样本并排除第六样本。未被确认或排除的第三样本及第五样本会被输入第三阶段模型。当第二阶段模型结合第三阶段模型判断结果的准确度大于第一阶段模型判断结果的准确度时,套用第二阶段高特异度模型、第二阶段高灵敏度模型及第三阶段模型以提供疾病预测结果。
[0099]
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献