大规模肝脏电子病历病变分类的属性并行约简Spark方法与流程

文档序号:22617989发布日期:2020-10-23 19:20阅读:188来源:国知局
大规模肝脏电子病历病变分类的属性并行约简Spark方法与流程

本发明涉及医学图像处理技术领域,具体涉及大规模肝脏电子病历病变分类的属性并行约简spark方法。



背景技术:

肝脏是人体中重要的器官,具有解毒作用,它主要的功能:分泌胆汁,促进脂肪的消化吸收;参与物质代谢,维持血糖浓度恒定;参与促进红细胞生成素合成;参与大部分血浆蛋白和凝血因子合成;参与血液循环;参与激素代谢等。肝脏功能的检查是一系列检查肝脏功能的试验,是最常用的实验室检查项目之一,到目前为止国内外相关学者已提出的肝功能试验高达数百种,灵敏度与特异性各不相同。但是,在大多数情况下每个试验只能反映肝功能一个方面,往往需要多个甚至数十个试验联合起来一起应用。由于试验中肝脏功能属性信息的数据量较大,一般的数据分析与处理方法无法快速和有效地对肝脏属性信息进行处理与分析。肝脏检查项目是医院判断患者肝脏是否发生病变的主要依据,但随着医疗技术的发展和医院规模的日益壮大,医院肝脏患者的信息往往呈指数增加,导致了大规模肝脏电子病历病变分类数据分析的计算时间较长和效率低下。如何有效分析患者的肝脏病变信息和帮助医生有效地分析患者肝脏病变的症状,亟需一种新的方法能有效地减少大规模肝脏电子病历信息中冗余的属性,降低肝脏功能的检测时间和提高检测效率,有效进行大规模肝脏病变分类的筛查和分析。



技术实现要素:

为了解决上述问题,本发明提供大规模肝脏电子病历病变分类的属性并行约简spark方法,有效提高大规模肝脏电子病历属性并行约简的效率和精度,提高了肝脏电子病历病变计算机智能辅助分类的应用价值。

为了实现以上目的,本发明采取的一种技术方案是:

大规模肝脏电子病历病变分类的属性并行约简spark方法,包括如下步骤:s10读取肝脏电子病历的数据集合并划分成多个肝脏病历数据子集发送到相应从节点上;s20对所述肝脏病历数据子集进行不一致处理,约简肝脏病历数据中不一致的数据,然后计算所述肝脏病历数据属性的等价类划分值;s30计算所述肝脏病历数据子集关于决策分类的属性正域集合,然后根据肝脏病历数据子集中数据对象计算属性重要度;s40计算出所述从节点中肝脏病历数据子集的属性重要度集合,并对同一肝脏病历数据属性子集的属性重要度集合进行聚合操作,得到肝脏病历数据的属性重要度集合;s50计算肝脏病历数据集的属性约简集合,并判断其是否满足约简要求。

进一步地,所述步骤s10包括如下步骤:s11在spark框架主控节点master上,通过hadoop分布式文件系统hdfs读取大规模肝脏电子病历的数据集合及其决策分类;其中肝脏电子病历的数据集合s定义如下:s={u,c∪d,v,f},其中u={x1,x2,…,xn}表示肝脏病历数据中的患者,n表示患者的个数;c表示肝脏病历数据属性的非空有限集;d表示肝脏病历数据决策属性的非空有限集,且v=∪a∈c∪dva,va是肝脏病历数据属性a的可能情况;f:u×(c∪d)→v是一个信息函数,它为每个患者赋予一个信息值,即x∈u,f(x,a)∈va;x∈u,f(x,a)∈va;s12根据所述肝脏病历数据决策属性d的不同信息值个数,将所述肝脏电子病历的数据集合s划分成n个肝脏病历数据子集,且满足其中i≠j,i=1,2,…,n,j=1,2,…,n;s13在spark框架下,通过netty通信框架建立所述主控节点master和从节点slavei之间的通信,然后将划分的所述肝脏病历数据子集si发送到相应的所述从节点slavei上。

进一步地,所述步骤s40包括如下步骤:s21在所述从节点slavei中,对肝脏病历数据子集si进行一致性处理,从相同的肝脏病历数据子集属性中获取一个决策值最频繁的记录作为代表,约简其余决策值,生成新的肝脏病历数据子集s′i;s22计算肝脏病历数据子集s′i属性的等价类划分equivalentattrclassi(c)=u′i/ind(c),其中,u′i是肝脏病历数据子集s′i中的患者对象,等价类关系ind(r)定义如下:s23计算肝脏病历数据子集s′i中每个病变属性ck的等价类划分equivalentattrclassi(ck)=u′i/ind(ck),其中k=1,2,…,m,m为病变属性个数。

进一步地,所述步骤s30包括如下步骤:s31在所述从节点slavei中,计算肝脏病历数据子集s′i属性的正域集其中正域集posc(x)定义如下:s32在所述从节点slavei中,将发送到主控节点master中,并对不同肝脏病历数据子集中正域集合进行聚合操作,得到posclassc(d);s33计算肝脏病历数据子集s′i中每个病变属性ck的正域集并计算属于正域对象的患者对象个数λi(ck)。

进一步地,所述步骤s40包括如下步骤:s41在所述从节点slavei中,计算肝脏病历m个病变属性中每个病变属性ck的属性重要度sigi(ck),其中第i个所述从节点slavei中第k个属性的属性重要度sigi(ck)定义如下:

其中,|·|表示集合的基数,λi(ck)表示第i个所述从节点slavei中第k个属性属于正域对象的患者对象个数;s42在所述从节点slavei中,将相应的肝脏病历数据子集s′i中属性重要度集合{sig(c1),sig(c2),…,sig(cm)}通过spark中的netty通信框架发送主控节点master中;s43对属性重要度集合{sigi(c1),sigi(c2),…,sigi(cm)},i=1,2,…,n进行聚合操作,将不同肝脏病历数据子集中相同属性的属性重要度聚合到一个集合中,得到{sig1(ck),sig2(ck),…,sign(ck)},k=1,2,…,m;s44计算聚合后的属性重要度集合中同一属性的属性重要度平均值,其计算公式如下:k=1,2,…,m;s45将s44中肝脏病历数据属性的属性重要度聚合成一个集合{sig(c1),sig(c2),…,sig(cm)},然后按照从大到小的顺序对其重新排序,得到新的属性重要度集合{sig′(c1),sig′(c2),…,sig′(cm)}。

进一步地,所述步骤s50包括如下步骤:s51在主控节点master中,按照属性重要度集合构建候选属性集合candidateattrclass,并将candidateattrclass中肝脏病历数据的属性依次添加到属性约简集合red中;s52在主控节点master中,计算肝脏病历数据中关于决策分类的属性约简集合的正域集合posclassred(d);s53判断posclassred(d)是否与posclassc(d)相等,如相等,则输出肝脏病历数据属性约简集合red;不相等,则跳转至步骤s51中的操作继续执行直至posclassred(d)=posclassc(d)。

本发明的上述技术方案相比现有技术具有以下优点:

本发明的大规模肝脏电子病历病变分类的属性并行约简spark方法,可以快速有效的对肝脏功能属性信息进行处理与分析,约简了大规模肝脏电子病历信息中冗余属性,极大的减少了肝脏功能分析时间、提高了检测效率,实现了大规模肝脏病变分类的筛查与分析,有效提高大规模肝脏电子病历属性并行约简的效率和精度,提高了肝脏电子病历病变计算机智能辅助分类的应用价值。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其有益效果显而易见。

图1所示为本发明一实施例的大规模肝脏电子病历病变分类的属性并行约简spark方法的流程图;

图2所示为本发明一实施例的大规模肝脏电子病历病变分类的属性并行约简spark方法的具体流程图;

图3所示为本发明一实施例的属性并行约简过程中的spark架构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例提供了大规模肝脏电子病历病变分类的属性并行约简spark方法,如图1~2所示,包括如下步骤:s10读取肝脏电子病历的数据集合并划分成多个肝脏病历数据子集发送到相应从节点上。s20对所述肝脏病历数据子集进行不一致处理,约简肝脏病历数据中不一致的数据,然后计算所述肝脏病历数据属性的等价类划分值。s30计算所述肝脏病历数据子集关于决策分类的属性正域集合,然后根据肝脏病历数据子集中数据对象计算属性重要度。s40计算出所述从节点中肝脏病历数据子集的属性重要度集合,并对同一肝脏病历数据属性子集的属性重要度集合进行聚合操作,得到肝脏病历数据的属性重要度集合。s50计算肝脏病历数据集的属性约简集合,并判断其是否满足约简要求。

所述步骤s10包括如下步骤:s11在spark框架主控节点master上,通过hadoop分布式文件系统hdfs读取大规模肝脏电子病历的数据集合及其决策分类;其中肝脏电子病历的数据集合s定义如下:s={u,c∪d,v,f},其中u={x1,x2,…,xn}表示肝脏病历数据中的患者,n表示患者的个数;c表示肝脏病历数据属性的非空有限集;d表示肝脏病历数据决策属性的非空有限集,且v=∪a∈c∪dva,va是肝脏病历数据属性a的可能情况;f:u×(c∪d)→v是一个信息函数,它为每个患者赋予一个信息值,即x∈u,f(x,a)∈va;x∈u,f(x,a)∈va。s12根据所述肝脏病历数据决策属性d的不同信息值个数,将所述肝脏电子病历的数据集合s划分成n个肝脏病历数据子集,且满足其中i≠j,i=1,2,…,n,j=1,2,…,n。s13在spark框架下,通过netty通信框架建立所述主控节点master和从节点slavei之间的通信,然后将划分的所述肝脏病历数据子集si发送到相应的所述从节点slavei上。

所述步骤s20包括如下步骤:s21在所述从节点slavei中,对肝脏病历数据子集si进行一致性处理,从相同的肝脏病历数据子集属性中获取一个决策值最频繁的记录作为代表,约简其余决策值,生成新的肝脏病历数据子集s′i。s22计算肝脏病历数据子集s′i属性的等价类划分equivalentattrclassi(c)=u′i/ind(c),其中,u′i是肝脏病历数据子集s′i中的患者对象,等价类关系ind(r)定义如下:s23计算肝脏病历数据子集s′i中每个病变属性ck的等价类划分equivalentattrclassi(ck)=u′i/ind(ck),其中k=1,2,…,m,m为病变属性个数。

所述步骤s30包括如下步骤:s31在所述从节点slavei中,计算肝脏病历数据子集s′i属性的正域集其中正域集posc(x)定义如下:s32在所述从节点slavei中,将发送到主控节点master中,并对不同肝脏病历数据子集中正域集合进行聚合操作,得到posclassc(d)。s33计算肝脏病历数据子集s′i中每个病变属性ck的正域集并计算属于正域对象的患者对象个数λi(ck)。

所述步骤s40包括如下步骤:s41在所述从节点slavei中,计算肝脏病历m个病变属性中每个病变属性ck的属性重要度sigi(ck),其中第i个所述从节点slavei中第k个属性的属性重要度sigi(ck)定义如下:

其中,|·|表示集合的基数,λi(ck)表示第i个所述从节点slavei中第k个属性属于正域对象的患者对象个数。s42在所述从节点slavei中,将相应的肝脏病历数据子集s′i中属性重要度集合{sig(c1),sig(c2),…,sig(cm)}通过spark中的netty通信框架发送主控节点master中。s43对属性重要度集合{sigi(c1),sigi(c2),…,sigi(cm)},i=1,2,…,n进行聚合操作,将不同肝脏病历数据子集中相同属性的属性重要度聚合到一个集合中,得到{sig1(ck),sig2(ck),…,sign(ck)},k=1,2,…,m。s44计算聚合后的属性重要度集合中同一属性的属性重要度平均值,其计算公式如下:k=1,2,…,m;s45将s44中肝脏病历数据属性的属性重要度聚合成一个集合{sig(c1),sig(c2),…,sig(cm)},然后按照从大到小的顺序对其重新排序,得到新的属性重要度集合{sig′(c1),sig′(c2),…,sig′(cm)}。

如图3所示,所述步骤s50包括如下步骤:s51在主控节点master中,按照属性重要度集合构建候选属性集合candidateattrclass,并将candidateattrclass中肝脏病历数据的属性依次添加到属性约简集合red中。s52在主控节点master中,计算肝脏病历数据中关于决策分类的属性约简集合的正域集合posclassred(d)。s53判断posclassred(d)是否与posclassc(d)相等,如相等,则输出肝脏病历数据属性约简集合red;不相等,则跳转至步骤s51中的操作继续执行直至posclassred(d)=posclassc(d)。

以上所述仅为本发明的示例性实施例,并非因此限制本发明专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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