针对不平衡数据的疾病预测方法、装置、设备及介质与流程

文档序号:20761078发布日期:2020-05-15 18:08阅读:233来源:国知局
针对不平衡数据的疾病预测方法、装置、设备及介质与流程

本公开实施例涉及医疗数据技术领域,具体而言,涉及一种针对不平衡数据的疾病预测方法、针对不平衡数据的疾病预测装置、电子设备及计算机可读存储介质。



背景技术:

不平衡数据广泛存在于医疗场景中,数据存在不平衡问题会导致不容易识别出患者。

相关技术中,首先将数据处理为平衡数据,进而划分为训练数据和测试数据,进一步通过模型对数据进行识别。在这种方式中,数据并不能代表真实应用场景,导致对模型的评价指标不可靠,进而使得将模型应用于真实应用场景时得到的预测结果不准确,具有一定的局限性。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开实施例的目的在于提供一种针对不平衡数据的疾病预测方法、针对不平衡数据的疾病预测装置、电子设备及计算机可读存储介质,进而至少在一定程度上克服针对不平衡数据进行疾病预测准确性较低的问题。

本公开实施例的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本公开实施例的一个方面,提供一种针对不平衡数据的疾病预测方法,包括:获取目标对象的待预测数据;将所述待预测数据输入至预测模型,得到所述待预测数据的输出结果;其中,所述预测模型根据多个待选预测模型的评价指标而确定,且所述多个待选预测模型根据对划分后的原始数据进行平衡处理得到;根据所述输出结果确定所述待预测数据的预测结果。

在本公开的一种示例性实施例中,所述方法还包括:确定参考对象和潜在特征,并根据所述潜在特征获取所述参考对象的原始数据;将所述原始数据进行划分,以得到训练数据和测试数据;对所述训练数据进行平衡处理,并根据平衡处理后的训练数据对多个机器学习模型进行训练,以构建所述预测模型。

在本公开的一种示例性实施例中,确定参考对象包括:结合第一类型知识和第二类型知识,根据第一预测值确定筛选指标;根据所述筛选指标对多个对象进行过滤,以确定所述参考对象。

在本公开的一种示例性实施例中,将所述原始数据进行划分包括:基于交叉验证法对所述原始数据进行划分,以得到训练数据和测试数据。

在本公开的一种示例性实施例中,所述方法还包括:将符合预设条件的参考对象的原始数据中的训练数据进行扩充,并对不符合预设条件的参考对象的原始数据中的训练数据进行缩减,以对划分后的原始数据进行平衡处理。

在本公开的一种示例性实施例中,根据平衡处理后的训练数据对多个机器学习模型进行训练,以构建所述预测模型包括:根据平衡处理后的训练数据以及所述训练数据的真实标签,对所述多个机器学习模型进行训练,得到多个训练好的机器学习模型作为多个待选预测模型;根据所述多个待选预测模型的类型确定所述多个待选预测模型的评价指标;将所述多个待选预测模型中所述评价指标最高的待选预测模型作为所述预测模型。

在本公开的一种示例性实施例中,所述待选预测模型的类型为预测标签,确定所述多个待选预测模型的评价指标包括:结合所述测试数据的真实标签和预测标签确定灵敏度和第二预测值,并根据所述灵敏度和所述第二预测值确定所述评价指标。

在本公开的一种示例性实施例中,所述待选预测模型的类型为预测概率,确定所述多个待选预测模型的评价指标包括:通过所述训练数据生成预测阈值;将所述预测阈值与所述测试数据的预测概率进行对比,得到所述测试数据的预测标签;根据所述测试数据的实际标签和所述预测标签,确定灵敏度以及第二预测值,并结合所述灵敏度和所述第二预测值确定所述评价指标。

在本公开的一种示例性实施例中,根据所述输出结果确定所述待预测数据的预测结果包括:根据所述输出结果获取所述待预测数据的预测标签,并根据所述预测标签确定所述待预测数据的所述预测结果。

根据本公开的一个方面,提供一种针对不平衡数据的疾病预测装置,包括:数据获取模块,用于获取目标对象的待预测数据;结果获取模块,用于将所述待预测数据输入至预测模型,得到所述待预测数据的输出结果;其中,所述预测模型根据多个待选预测模型的评价指标而确定,且所述多个待选预测模型根据对划分后的原始数据进行平衡处理得到;数据预测模块,用于根据所述输出结果确定所述待预测数据的预测结果。

根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述的针对不平衡数据的疾病预测方法。

根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的针对不平衡数据的疾病预测方法。

本公开实施例提供的针对不平衡数据的疾病预测方法、装置、电子设备和计算机可读存储介质中,将目标对象的待预测数据输入至通过划分后的测试数据平衡处理后训练得到的多个机器学习模型的评价指标确定的预测模型,得到待预测数据的输出结果,进而确定预测结果。一方面,由于预测模型是先对数据进行划分再进行平衡处理得到的,划分得到的数据是基于平衡处理之前的数据,因此评价指标能够符合真实应用场景,得到的预测模型更符合真实应用场景,从而使得到的预测结果在真实应用场景中更准确,提高了准确性。另一方面,由于是先对数据进行划分得到测试数据再进一步进行平衡处理,避免了相关技术中针对平衡数据得到的测试结果较好但是在真实应用场景中效果变差的问题,避免了对不平衡数据进行识别时的局限性,避免了预测模型的评价指标不可靠的问题,使得预测结果更符合真实应用场景。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示意性示出了本公开实施例的针对不平衡数据的疾病预测方法的流程示意图;

图2示意性示出了本公开实施例的对原始数据进行处理的流程示意图;

图3示意性示出了本公开实施例的获取预测模型的流程示意图;

图4示意性示出了本公开实施例的确定评价指标的流程示意图;

图5示意性示出了本公开实施例的根据原始数据确定预测模型的具体流程示意图;

图6示意性示出了根据本公开实施例的针对不平衡数据的疾病预测装置的框图;

图7示意性示出了用来实现上述针对不平衡数据的疾病预测方法的电子设备的框图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

为了解决上述问题,本公开实施例中首先提出一种针对不平衡数据的疾病预测方法,该针对不平衡数据的疾病预测方法可以应用于对医疗数据进行处理的应用场景。该针对不平衡数据的疾病预测方法的执行主体可以为服务器,参考图1所示,该针对不平衡数据的疾病预测方法可以包括步骤s110、步骤s120以及步骤s130。其中:

在步骤s110中,获取目标对象的待预测数据;

在步骤s120中,将所述待预测数据输入至预测模型,得到所述待预测数据的输出结果;其中,所述预测模型根据多个待选预测模型的评价指标而确定,且所述多个待选预测模型模型根据对划分后的原始数据进行平衡处理得到;

在步骤s130中,根据所述输出结果确定所述待预测数据的预测结果。

在本公开的示例实施例所提供的技术方案中,一方面,由于预测模型是先对原始数据进行划分之后再进行平衡处理得到的,划分得到的数据是基于平衡处理之前的数据,也即,预测模型是根据不平衡的数据得到的,因此评价指标能够符合真实应用场景,得到的预测模型更符合真实应用场景,从而使得到的预测结果在真实应用场景中更准确,提高了准确性。另一方面,由于是先对数据进行划分再进一步对划分后的数据进行平衡处理,避免了相关技术中预测模型针对平衡数据得到的测试结果较好但是在真实应用场景中效果变差的问题,避免了预测模型对不平衡数据进行识别时的局限性,避免了预测模型的评价指标不可靠的问题,使得预测结果更符合真实应用场景。

接下来,结合附图对本公开实施例中的针对不平衡数据的疾病预测方法进行进一步解释说明。

在步骤s110中,获取目标对象的待预测数据。

本公开实施例中,目标对象指的可以是预设场所中的患者,预设场所例如可以为医院或者是医疗中心等能够包括患者的机构。待预测数据可以为与该患者相关联的所有的医疗数据,例如每个患者所有的病历数据。病历数据用于记录目标对象在该预设场所中的所有记录。待预测数据用于预测所述目标对象的数据是否属于目标类别的数据,目标类别可以为占比小于预设值的类别,占比指的是该类别的患者的数量与所有患者的数量的比值。预设值可以为一个较小的数值,例如0.005等等。也就是说,识别目标可以为识别发生概率低的目标类别的疾病,例如可以为癌症或者是真菌感染等等,此处不作限定。

在步骤s120中,将所述待预测数据输入至预测模型,得到所述待预测数据的输出结果;其中,所述预测模型根据多个待选预测模型的评价指标而确定,且所述多个待选预测模型根据对划分后的原始数据进行平衡处理得到。

本公开实施例中,预测模型指的是用于对待预测数据进行分析,以用于预测目标对象的待预测数据是否属于目标类别的模型。预测模型可以为任意合适的且能够进行分类的模型,此处以机器学习模型为例进行说明。本公开实施例中,预测模型可以由多个待选预测模型而确定,每个待选预测模型可以不同,且其参数可以不同。具体地,首先可以将多个机器学习模型分别作为待选预测模型,进一步计算每个待选预测模型的评价指标,并根据评价指标来选择最终的预测模型。最终的预测模型可以为多个待选预测模型中的一个。

图2中示意性示出对原始数据进行处理的流程图,参考图2中所示,主要包括以下步骤:

在步骤s210中,确定参考对象和潜在特征,并根据所述潜在特征获取所述参考对象的原始数据。

本公开实施例中,参考对象指的是可以用于确定预测模型的患者,参考对象可以为与识别目标相关联的患者,以根据参考对象准确预测目标对象的待预测数据是否属于目标类别。

随着不平衡程度的增加,大部分模型对少数类的预测效果会越来越差,因此,需要将数据不平衡程度降低以提高少数类的预测效果。目前常用的方法是通过上述采样等技术手段实现样本间的平衡,但是,具有一定的局限性。例如。原本不平衡比例(正负样本比)为1:10000,这样极度不平衡数据,固然可以通过如少数类过采样10倍,多数类降采样50倍的方式达到10:200(即1:20)的相对平衡的情况,但通过“由1个样本生成10个样本结合从50个样本中取出一个样本”这种方式生成的数据,对原始数据的代表性是比较差的。

为了解决上述问题,在确定参考对象时,首先可以根据第一预测值确定一个筛选指标,进一步根据该筛选指标对多个对象进行过滤,以确定参考对象。第一预测值指的是对于不符合预设条件的对象的阴性预测值。预设条件可以与识别目标一致,例如可以为属于目标类别。不符合预设条件的对象指的是对象不属于目标类别患者。阴性预测值用于代表预测为阴性的样本中样本确实为阴性的可能性,即预测结果为不属于目标类别的对象,实际不属于目标类别的可能性。

在确定第一预测值后,可以结合第一类型知识和第二类型知识,根据第一预测值来确定筛选指标,筛选指标用于从多个对象中确定出参考对象。第一类型知识和第二类型知识均可以为医学知识,第一类型知识可以包括流行病学知识,第二类型知识可以为临床医学知识,具体可以从医学数据库中获取。筛选指标指的是符合第二类型知识且与目标类别无关联的指标,例如可以为对于确定对象不属于目标类别的预测值高的指标。举例而言,在真菌感染中,从第二类型知识(临床医学)角度考虑,如果连最基本的炎症反应都没有,根本不需要考虑真菌感染,因此在真菌感染识别中,可以将“不发生炎症反应综合征”这个特征作为筛选指标。筛选指标的数量可以为一个或多个,具体可以根据实际需求而确定。在确定筛选指标之后,可以根据该筛选指标对多个对象的数据进行过滤,以将过滤后剩余的对象作为参考对象。

再举例而言,在确定用于识别肺癌的预测模型时,由于肺癌发生率很低,需要结合临床知识确定对非肺癌患者阴性预测值很高的筛选指标来辅助解决不平衡问题,筛选指标例如可以包括但不限于肺部x线、ct等有异常征象,或有胸痛、咳嗽等。再例如,对于艾滋病的预测模型,应该纳入有高危行为的样本进入模型,因为没有高危行为的样本不太可能感染艾滋病。通过筛选指标得到参考对象,能够将原始不平衡比例从1:200降为1:50。

本公开实施例中,通过筛选指标进行初步筛选,降低了数据的不平衡程度,有利于预测模型的构建;在符合研究目标的前提下,剔除了不必要的样本,极大的精简数据,降低数据采集和核查成本。

潜在特征指的是用于构建预测模型,且对预测目标影响程度大的特征,具体可以根据数据库和第二类型知识而确定。举例而言,对于高血压而言,潜在特征可以为年龄以及食盐摄入量等等。在得到潜在特征之后,可以获取参考对象的原始数据,也就是说,原始数据中可以包括潜在特征,以便于准确构建预测模型。另外,原始数据可以为不平衡数据。不平衡数据指的是在二分类或多分类数据(如患病与不患病,血型为a、b、o类)中,当数据存在“某一类(如患病)样本数量明显少于其他类别的样本数量”的情况时,这样的数据称为不平衡数据。不平衡数据中的少数类样本也称阳性样本,多数类样本也称阴性样本。

在步骤s220中,将所述原始数据进行划分,以得到训练数据和所述测试数据。

本公开实施例中,可以将原始数据划分为训练数据和测试数据,其中训练数据用于训练预测模型,测试数据用于对预测模型的性能进行评价和测试。其中,可以通过任何合适的模型评价框架对原始数据进行划分。模型评价框架可以为留出法、自助法以及交叉验证方法中的任意一个,此处以交叉验证方法为例进行说明。具体而言,交叉验证法的步骤可以归纳为:将原始数据等分为k折,取k折中的1折作为测试数据用于模型预测效果评价,剩余的k-1折作为训练数据用于模型训练。这个过程在每一折数据上都轮流开展,最后,综合k个评价结果作为最终评价结果。

需要说明的是,在通过测试数据对模型进行评价时,使用的是不平衡数据。再对训练数据采样的方式以保证测试数据与原始数据类似,依旧是不平衡的,用不平衡的数据对模型进行验证,以反映模型的真实预测效果。

在步骤s230中,对所述训练数据进行平衡处理,并根据平衡处理后的训练数据对多个机器学习模型进行训练,以构建所述预测模型。

本公开实施例中,对划分后的原始数据进行平衡处理指的即是对原始数据中的训练数据进行平衡处理。可以利用采样法对训练数据进行平衡处理,以将不平衡的训练数据处理为平衡的训练数据。采样法可以为降采样、过采样或者是smote(syntheticminorityoversamplingtechnique,合成少数类过采样技术算法)抽样中的任意一种,此处以利用smote方法为例进行说明。具体地,可以利用smote方法将符合预设条件的参考对象的训练数据增加为原始的m倍,同时将不符合预设条件的参考对象的训练数据减少1/n倍。即,将属于患者的训练数据线性扩充为原始的m倍,将属于非患者的数据利用随机降采样的方式减少为原始的1/n倍,其中,增加和减少的幅度以避免数据再次产生不平衡为止,即m和n的数值不能相差较大。通过一增一减的方式降低训练数据的不平衡程度。通过这种方式进行平衡处理,能够避免不平衡数据进行预测的局限性,从而提高准确性。

进一步地,可以按照平衡后的训练数据对多个机器学习模型进行训练,以构建预测模型。其中,多个机器学习模型可以为任意合适的用于分类的模型。举例而言,可以为决策树、神经网络模型、线性回归分析模型、支持向量机、随机森林模型中的任意多个,此处以多个机器学习模型分别为线性回归分析回归模型、支持向量机以及随机森林模型为例进行说明。

图3中示意性示出了确定预测模型的流程图,参考图3中所示,主要包括以下步骤:

在步骤s310中,根据平衡处理后的训练数据以及所述训练数据的真实标签,对所述多个机器学习模型进行训练,得到多个训练好的机器学习模型作为多个待选预测模型。

本公开实施例中,可以将平衡处理后的训练数据输入至多个机器学习模型中,以每个训练数据的真实标签作为训练目标,对多个机器学习模型进行参数调整,直至参数收敛为止,以得到多个训练好的机器学习模型。进一步地,可以将每一个训练好的机器学习模型均作为一个独立的待选预测模型。

在步骤s320中,根据所述多个待选预测模型的类型确定所述多个待选预测模型的评价指标。

本公开实施例中,待选预测模型的类型可以包括预测标签和预测概率两种,每个待选预测模型的输出结果可以为预测标签或者预测概率。预测标签指的是直接用于表示数据的类别的标识,例如患病或者不患病;预测概率指的是不能直接用于代表类别的数值,例如0.4等等。

评价指标可以为用于评价模型质量的数值,例如可以包括灵敏度、特异度、阳性预测值、阴性预测值、auc等基础指标;也有将这些基础指标进行融合后生成的复合指标,例如gmeans、auc值、f值等。在不平衡问题中应重点考虑阳性样本(患病)的正确识别,即识别出的阳性样本确实为阳性的比例(阳性预测值)应高;且真实的阳性样本中被正确识别为阳性的比例(灵敏度)应高,所以此处的评价指标可以包括灵敏度、第二预测值(阳性预测值)二者结合得到的f值。基于此,确定评价指标可以包括以下两种情况,具体参考图4中所示进行说明。

在步骤s410中,判断待选预测模型的类型是否为预测标签;若是,则转至步骤s420;若否,则转至步骤s430。

在步骤s420中,对于待选预测模型的类型为预测标签而言,结合所述测试数据的真实标签和预测标签确定灵敏度和第二预测值,并根据所述灵敏度和所述第二预测值确定所述评价指标。

本公开实施例中,例如支持向量机、随机森林等方法一般直接输出预测标签(即患病或不患病),此时,可以使用针对不平衡问题的评价指标f值进行预测效果评价。f值是一个综合考虑灵敏度和阳性预测值的指标,灵敏度和阳性预测值越高,f值也越高。f值可以用公式(1)来表示:

其中,参数β反应了灵敏度和阳性预测值在f值中的相对重要性,β=1时,二者的变化对f值变化的影响相当,β>1时,灵敏度的变化对f值的变化影响更大,β<1时,阳性预测值的变化对f值的变化影响更大。ppv为阳性预测值、tpr为灵敏度。

第二预测值即为阳性预测值,计算f值需要先计算出灵敏度和阳性预测值,对于能直接给出预测标签的模型来说,在知道测试数据的真实标签和预测标签的情况下,可以根据预测标签和真实标签均为阳性的测试数据的数量与预测标签为阳性的测试数据的数量的比值计算阳性预测值;根据预测标签和真实标签均为阳性的测试数据的数量与真实标签为阳性的测试数据的数量的比值计算灵敏度,进而根据公式(1)计算出f值。

在步骤s430中,对于待选预测模型的类型为预测概率而言,将预测概率生成预测标签,根据所述测试数据的真实标签和预测标签确定灵敏度和第二预测值,并根据所述灵敏度和所述第二预测值确定所述评价指标。

本公开实施例中,具体步骤包括步骤s431至步骤s433,其中:

在步骤s431中,通过所述训练数据生成预测阈值;

在步骤s432中,将所述预测阈值与所述测试数据的预测概率进行对比,得到所述测试数据的预测标签;

在步骤s433中,根据所述测试数据的实际标签和所述预测标签,确定灵敏度以及第二预测值,并结合所述灵敏度和所述第二预测值确定所述评价指标。

本公开实施例中,预测阈值指的是用于对测试数据的类别进行确定的分类阈值,例如大于该预测阈值的为第一类别,小于该预测阈值的为第二类别等等。对于不直接给出预测标签,而是给出预测概率的模型(如线性回归分析模型等),由于线性回归分析模型本身并不包含阈值的生成,因此需要借助阈值来生成标签。

相关技术中,一般是基于测试数据产生预测阈值,这会导致模型的预测阈值是基于测试数据得出,即测试数据参与建模,进而导致评价效果虚高以及过拟合的问题。为了解决上述技术问题,本公开实施例中,可以基于训练数据的实际标签以及在训练数据上的预测概率生成预测阈值。具体而言,可以将训练数据的预测概率按照从小到大的顺序进行排序,往往需要遍历(0,1)区间上的所有可能阈值点,从而选出最优阈值分别取其中的每个训练数据的预测概率作为阈值,并计算每一个预测概率作为阈值时相应的灵敏度、阳性预测值、f值等指标。在此基础上,可以根据指标最大的阈值确定为此处的预测阈值。

本公开实施例中,采用在测试数据上生成预测概率,在训练数据上生成预测概率从而生成预测阈值;再将测试数据的预测概率与预测阈值对比的方式生成测试数据的预测标签,例如高于预测阈值的预测标签为第一类别,小于预测阈值的预测标签为第二类别。之后结合测试数据的实际标签和预测标签,计算相应的灵敏度、阳性预测值以及f值。如此一来,生成的评价指标f值更能反映模型的真实预测效果,避免了根据测试数据直接确定模型的过程,避免评价结果虚高的问题。

接下来,在步骤s330中,将所述多个待选预测模型中所述评价指标最高的待选预测模型作为所述预测模型。

本公开实施例中,如果线性回归分析模型、支持向量机以及随机森林模型的评价指标分别为0.2、0.3以及0.6,则可以认为随机森林模型的评价指标最高。

在计算出各待选预测模型的f值后,可以选出f值最高的模型对应的参数作为最优参数(如交叉验证折数k,扩充倍数m,减少倍数1/n)。进一步地,可以将上述选出最优参数应用于原始数据以生成最终的预测模型。也就是说,如果确定随机森林模型的评价指标最高,则可以将训练好的随机森林模型作为预测模型。

除此之外,还可以将交叉验证折数k,扩充倍数m,减少倍数1/n以及模型作为参数,分别计算评价指标,进而将评价指标最高的模型确定为预测模型,此处不再赘述。

在确定预测模型之后,可以将目标对象的待预测数据输入至该预测模型中,以得到该待预测数据的输出结果。输出结果可以为预测标签或者是预测概率,具体根据预测模型的类别而不同。

本公开实施例中,从交叉验证与不平衡数据处理顺序以及基于训练数据生成预测阈值两个维度来建立用于对不平衡数据进行处理的预测模型,解决了相关技术中模型评价结果虚高的问题。结合第一类型知识和第二类型知识,能够选择更准确更符合实际情况的参考对象,减少参考对象的数量,提升模型整体预测效果。通过该预测模型,能够对所有的不平衡的待预测数据进行预测,增加了应用范围和全面性,能够准确地对不平衡数据的类型进行预测。

在步骤s130中,根据所述输出结果确定所述待预测数据的预测结果。

本公开实施例中,在确定预测模型后,可以直接将待预测数据输入至预测模型,以根据预测模型对数据进行特征提取得到特征数据,进而基于特征数据进行预测,以得到针对于待预测数据的输出结果。输出结果的类别可以为预测标签或者是预测概率,具体根据预测模型的类别而不同。基于此,可以基于输出结果的类别确定对待预测数据的预测结果,进而判断目标对象的类别。

具体而言,对于任何一种类别的输出结果而言,均可以根据待预测数据的预测标签来确定其预测结果。因此,若预测模型最终为支持向量机、随机森林等,输出结果为预测标签,则可以直接根据预测标签确定待预测数据的预测结果。

若预测模型为线性回归分析模型等,输出结果为预测概率,则可以将预测概率转换为预测标签,例如可以将预测概率与设置的预设预测阈值进行对比得到待预测数据的预测标签。进一步根据转化的预测标签确定待预测数据的预测结果。举例而言,如果待预测数据的预测标签为不患病,则该目标对象不属于识别目标。通过预测标签确定其预测结果,可以提高识别的准确性,进而精准地确定识别目标,以便于后续处理。

图5中示意性示出了根据原始数据确定预测模型的具体流程图,参考图5中所示,主要包括:

在步骤s501中,确定参考对象和潜在特征。其中,参考对象可以为目标人群。

在步骤s502中,采集数据得到原始数据。

在步骤s503中,将原始数据划分为训练数据和测试数据,其中,原始数据共分为k折,测试数据可以为第1折,训练数据可以为第2折至第k折。

在步骤s504中,对训练数据进行平衡处理。具体可以采用合成少数类过采样技术算法对第2折至第k折数据进行采样。

在步骤s505中,多模型建模。具体可以根据训练数据对线性回归分析模型、支持向量机以及随机森林模型进行训练,并采用测试数据对线性回归分析模型、支持向量机以及随机森林模型进行测试,以将训练好的线性回归分析模型、支持向量机以及随机森林模型分别作为独立的待选预测模型。

在步骤s506中,计算每个待选预测模型的评价指标,此处的评价指标可以为f值。

在步骤s507中,根据评价指标确定预测模型,具体可以将评价指标最高的待选预测模型作为预测模型。

通过图5中的技术方案,从交叉验证与不平衡数据处理顺序以及基于训练数据生成预测阈值两个维度来建立用于对不平衡数据进行处理的预测模型,由于预测模型是先对原始数据进行划分之后再进行平衡处理得到的,因此评价指标能够符合真实应用场景,得到的预测模型更符合真实应用场景。避免了预测模型对不平衡数据进行识别时的局限性,避免了预测模型的评价指标不可靠的问题,通过该预测模型,能够对所有的不平衡的待预测数据进行预测,增加了应用范围和全面性,能够准确地对不平衡数据的类型进行预测。结合第一类型知识和第二类型知识,能够选择更准确更符合实际情况的参考对象,减少参考对象的数量,提升模型整体预测效果。

本公开实施例中,还提供了一种针对不平衡数据的疾病预测装置,参考图6中所示,该装置600主要包括:

数据获取模块601,用于获取目标对象的待预测数据;

结果获取模块602,用于将所述待预测数据输入至预测模型,得到所述待预测数据的输出结果;其中,所述预测模型根据多个待选预测模型的评价指标而确定,且所述多个待选预测模型根据对划分后的原始数据进行平衡处理得到;

数据预测模块603,用于根据所述输出结果确定所述待预测数据的预测结果。

在本公开的一种示例性实施例中,所述装置还包括:原始数据确定模块,用于确定参考对象和潜在特征,并根据所述潜在特征获取所述参考对象的原始数据;原始数据划分模块,用于将所述原始数据进行划分,以得到训练数据和测试数据;模型构建模块,用于对所述训练数据进行平衡处理,并根据平衡处理后的训练数据对多个机器学习模型进行训练,以构建所述预测模型。

在本公开的一种示例性实施例中,原始数据确定模块包括:筛选指标确定模块,用于结合第一类型知识和第二类型知识,根据第一预测值确定筛选指标;参考对象确定模块,用于根据所述筛选指标对多个对象进行过滤,以确定所述参考对象。

在本公开的一种示例性实施例中,原始数据划分模块被配置为:基于交叉验证法对所述原始数据进行划分,以得到训练数据和测试数据。

在本公开的一种示例性实施例中,所述装置还包括:数据平衡处理模块,用于将符合预设条件的参考对象的原始数据中的训练数据进行扩充,并对不符合预设条件的参考对象的原始数据中的训练数据进行缩减,以对划分后的原始数据进行平衡处理。

在本公开的一种示例性实施例中,模型构建模块包括:待选预测模型确定模块,用于根据平衡处理后的训练数据以及所述训练数据的真实标签,对所述多个机器学习模型进行训练,得到多个训练好的机器学习模型作为多个待选预测模型;评价指标计算模块,用于根据所述多个待选预测模型的类型确定所述多个待选预测模型的评价指标;预测模型确定模块,用于将所述多个待选预测模型中所述评价指标最高的待选预测模型作为所述预测模型。

在本公开的一种示例性实施例中,所述待选预测模型的类型为预测标签,评价指标计算模块包括:第一计算模块,用于结合所述测试数据的真实标签和预测标签确定灵敏度和第二预测值,并根据所述灵敏度和所述第二预测值确定所述评价指标。

在本公开的一种示例性实施例中,所述待选预测模型的类型为预测概率,评价指标计算模块包括:阈值确定模块,用于通过所述训练数据生成预测阈值;标签生成模块,用于将所述预测阈值与所述测试数据的预测概率进行对比,得到所述测试数据的预测标签;第二计算模块,用于根据所述测试数据的实际标签和所述预测标签,确定灵敏度以及第二预测值,并结合所述灵敏度和所述第二预测值确定所述评价指标。

在本公开的一种示例性实施例中,数据预测模块被配置为:根据所述输出结果获取所述待预测数据的预测标签,并根据所述预测标签确定所述待预测数据的所述预测结果。

需要说明的是,本公开实施例的针对不平衡数据的疾病预测装置的各个功能模块与上述针对不平衡数据的疾病预测方法的示例实施例的步骤相同,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

下面参照图7来描述根据本发明的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730以及显示单元740。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图1中所示的步骤。

存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(rom)7203。

存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的针对不平衡数据的疾病预测方法。

在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。

根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

用于执行本发明操作的程序代码可以以一种或多种程序设计语言的任意组合来编写,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。

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