红斑病电子病历病变分类的增量属性约简Spark方法转让专利

申请号 : CN202110341510.5

文献号 : CN113012775B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 丁卫平秦廷桢李铭孙颖鞠恒荣沈鑫杰潘柏儒冯志豪黄嘉爽程纯曹金鑫

申请人 : 南通大学

摘要 :

本发明提供了一种红斑病电子病历病变分类的增量属性约简Spark方法,基于知识粒度的动态变化数据集增量约简算法与处理大数据常用的Spark并行框架相结合,在处理复杂,大规模和动态的数据集方面有着良好的效果,有效提高处理速度,能够进一步提高电子病历属性约简的效率和精度。

权利要求 :

1.红斑病电子病历病变分类的增量属性约简Spark方法,其特征在于,包括以下步骤:步骤1、在Spark框架下的主控节点master中,通过Hadoop分布式文件系统HDFS读取红斑病电子病历的数据集合S,约简属性集B以及新增红斑病病历数据集S′,红斑病病历信息的数据集合S和新增红斑病病历数据集S′定义如下:S={U,C∪D,V,f},其中U={x1,x2,...,xN}表示红斑病病历信息中的患者数据,N表示患者数据的总数量;S′={U′,C∪D,V,f},其中U′={x1,x2,...,xM}表示新增红斑病病历信息中的患者数据,M表示新增病历中患者数据的总数量;C表示红斑病病历条件属性的非空有限集;D表示红斑病病历信息决策属性的非空有限集,且 V=∪a∈C∪DVa,Va是红斑病病历信息属性a的可能情况;f:U×(C∪D)→V是一个信息函数,它为每个患者赋予一个信息值,即 x∈U,f(x,a)∈Va;

步骤2、根据新增红斑病病历信息决策属性D的不同信息值个数,将新增红斑病病历信息集合S′划分成n个红斑病病历信息子集S′={S′1,S′2,...,S′n},且满足 S′i={U′i,C∪D,V,f}, 其中 表示子节点i上新增红斑病病历信息中的患者数据,i≠j,i=1,2,...,n,j=1,2,...,n,并将原红斑病病历数据集S和划分的新增病历信息子集S′i发送到相应的从节点slavei上;

步骤3、在从节点slavei中,分别计算原红斑病病历数据集对原约简集的划分原红斑病病历数据集对条件属性集的划分新增红斑病病历数据集对原约简集的划分 新增红斑病病历数据集对条件属性集的划分

步骤4、在从节点slavei中,分别计算红斑病病历总数据集对原约简集的划分红斑病病历总数据集对条件属性集的划分步骤5、在从节点slavei中,分别计算新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度 是否等于原约简属性集相对于决策属性的知识粒度若相等,则原约简集不变,跳转至步骤7,否则,继续步骤6;

步骤6、在从节点slavei中,分别计算总红斑病病历数据集中条件属性集相对于决策属性的知识粒度 是否等于原约简属性集相对于决策属性的知识粒度若不等,则从候选属性集I中挑选属性重要度最大的属性amax添加进红斑病病历约简集,其中I=(C‑B),即条件属性集去除约简集后所剩集合,不断重复该操作直至相等,接着,对得到的红斑病病历约简集B进行进一步处理,将无关属性剔除,得到从节点slavei中的最终约简集;

步骤7、在从节点slavei中,将红斑病病历约简集发送到Spark主控节点master中,在Spark主控节点master中,对各从节点slavei发送来的红斑病病历约简集进行交集操作,取得交集属性,即为约简属性集。

2.根据权利要求1所述的红斑病电子病历病变分类的增量属性约简Spark方法,其特征在于,所述步骤5的具体步骤如下:

步骤5.1、在从节点slavei中,计算新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度 计算公式如下:

其中, 为新增红斑病病历数据集中条件属性C的知识粒度,其定义如下:为新增红斑病病历数据集中全部属性C∪D的知识粒度,其定义如下:步骤5.2、在从节点slavei中,计算新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度 计算公式如下:

步骤5.3、在从节点slavei中,计算二者知识粒度,即 和 是否相等。

3.根据权利要求1或2所述的红斑病电子病历病变分类的增量属性约简Spark方法,其特征在于,所述步骤6的具体步骤如下:步骤6.1、在从节点slavei中,从候选属性集I中逐一挑选某个属性at,并计算其相对于总红斑病病历数据集的外部属性重要度 计算公式如下:步骤6.2、在从节点slavei中,挑选出外部属性重要度最大的属性amax加入红斑病病历约简集中;

步骤6.3、在从节点slavei中,继续比较条件属性集相对于决策属性的知识粒度与原约简属性集相对于决策属性的知识粒度 是否相等;

步骤6.4、在从节点slavei中,从约简集B中逐一挑选某个属性at,将其从B中剔除后计算约简集相对决策属性的知识粒度

步骤6.5、在从节点slavei中,再将其与条件属性集相对于决策属性的知识粒度相比较,如果相同,则将at从红斑病病历约简集B剔除;

步骤6.6、在从节点slavei中,对红斑病病历约简集B进行修改,最终得到的即是从节点slavei的红斑病病历约简集。

说明书 :

红斑病电子病历病变分类的增量属性约简Spark方法

技术领域

[0001] 本发明涉及技术领域,尤其涉及一种红斑病电子病历病变分类的增量属性约简Spark 方法。

背景技术

[0002] 红斑性皮肤病是指以多形红色斑疹为特点的皮肤病。红斑病指的是临床上常见的原发性皮损,大部分炎症性皮肤病都可出现红斑,根据其不同的临床特征,可分为多种类
型。红斑种类繁多,按颜色可以分为淡红色、紫红色、暗红色;按范围可呈局限性、弥漫性;按
形态可呈斑状、网状、环状、地图状等。红斑病的鉴别诊断在皮肤病学中是一种常见问题,它
们都具有红斑和脱屑的临床特征,差异很小,难以区分和诊断。鉴别诊断的另一个困难是,
一种疾病可能在开始阶段就显示出另一种疾病的特征,而在随后的阶段可能具有其他特
征。科技的发展使得计算机可以参与实际应用中对红斑病进行协助分类,便于医生对其进
行诊断,具有重要的意义与价值。
[0003] 但是随着医院规模的不断增大,医院新增的患者信息骤然增多,由于患者信息是动态变化的,因此需要重新计算决策系统以获得新的约简,从而消耗大量的计算时间。显
然,普通的约简算法在处理动态决策系统时效率很低,而传统的增量属性约简方法在处理
大规模数据时又花费时间过长。

发明内容

[0004] 本发明的目的在于提供一种红斑病电子病历病变分类的增量属性约简Spark方法,该发明将基于知识粒度的动态变化数据集增量约简算法与处理大数据常用的Spark并
行框架相结合,在处理复杂,大规模和动态的数据集方面有着良好的效果,有效提高处理速
度,能够进一步提高电子病历属性约简的效率和精度。
[0005] 本发明的思想为:首先在Spark主控节点中读取原红斑病病历数据集和约简集以及新增红斑病数据集,并将其和原约简集分别发送到n个子节点中;其次,各个子节点上分
别在新增红斑病病历数据集和总数据集中进行一系列等价类划分;接着,在新增红斑病数
据集中计算相关知识粒度,并在子节点上计算剩余候选属性的属性重要度,将重要度最大
的属性添加进约简集,直至总红斑病病历数据集中原约简集和条件属性集相对于决策属性
的知识粒度相等,然后将约简集中对数据集无影响的属性剔除,发送到Spark主控节点;最
后,将各个子节点的红斑病病历约简集进行处理,得到最终红斑病电子病历约简集。
[0006] 本发明是通过如下措施实现的:红斑病电子病历病变分类的增量属性约简Spark方法,包括以下步骤:
[0007] 步骤1、在Spark框架下的主控节点master中,通过Hadoop分布式文件系统HDFS读取红斑病电子病历的数据集合S,约简属性集B以及新增红斑病病历数据集S',红斑病病历
信息的数据集合S和新增红斑病病历数据集S'定义如下:
[0008] S={U,CUD,V,f},其中U={x1,x2,...,xN}表示红斑病病历信息中的患者数据,N表示患者数据的总数量;S'={U',CUD,V,f},其中U'={x1,x2,...,xM}表示新增红斑病病历信
息中的患者数据,M表示新增病历中患者数据的总数量;C表示红斑病病历条件属性的非空
有限集;D表示红斑病病历信息决策属性的非空有限集,且 V=Ua∈CUDVa,Va是红斑
病病历信息属性a的可能情况;f:U×(CUD)→V是一个信息函数,它为每个患者赋予一个信
息值,即
[0009] 步骤2、根据新增红斑病病历信息决策属性D的不同信息值个数,将新增红斑病病历信息集合S'划分成n个红斑病病历信息子集S'={S'1,S'2,...,S'n},且满足  
S'i={U'i,CUD,V,f}, 其中 表示子节点i上新增红斑病病历
信息中的患者数据,i≠j,i=1,2,...,n,j=1,2,...,n,并将原红斑病病历数据集S和划分
的新增病历信息子集S'i发送到相应的从节点slavei上;
[0010] 步骤3、在从节点slavei中,分别计算原红斑病病历数据集对原约简集的划分原红斑病病历数据集对条件属性集的划分
新增红斑病病历数据集对原约简集的划分 新增红斑病病历数据集
对条件属性集的划分
[0011] 步骤4、在从节点slavei中,分别计算红斑病病历总数据集对原约简集的划分红 斑 病 病历 总数 据 集 对条 件 属 性集 的 划 分
[0012] 步骤5、在从节点slavei中,分别计算新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度 是否等于原约简属性集相对于决策属性的知识粒度
若相等,则原约简集不变,跳转至步骤7,否则,继续步骤6;
[0013] 步骤6、在从节点slavei中,分别计算总红斑病病历数据集中条件属性集相对于决策属性的知识粒度 是否等于原约简属性集相对于决策属性的知识粒度
若不等,则从候选属性集I中挑选属性重要度最大的属性amax添加进红斑病
病历约简集,其中I=(C‑B),即条件属性集去除约简集后所剩集合,不断重复该操作直至相
等,接着,对得到的红斑病病历约简集B进行进一步处理,将无关属性剔除,得到从节点
slavei中的最终约简集;
[0014] 步骤7、在从节点slavei中,将红斑病病历约简集发送到Spark主控节点master中,在 Spark主控节点master中,对各从节点slavei发送来的红斑病病历约简集进行交集操
作,取得交集属性,即为约简属性集。
[0015] 作为本发明提供的一种红斑病电子病历病变分类的增量属性约简Spark方法进一步优化方案,所述步骤5的具体步骤如下:
[0016] 步骤5.1、在从节点slavei中,计算新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度 计算公式如下:
[0017]
[0018] 其中, 为新增红斑病病历数据集中条件属性C的知识粒度,其定义如下:
[0019]
[0020] 为新增红斑病病历数据集中全部属性CUD的知识粒度,其定义如下:
[0021]
[0022] 步骤5.2、在从节点slavei中,计算新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度 计算公式如下:
[0023]
[0024] 步骤5.3、在从节点slavei中,计算二者知识粒度,即 和 是否相等。
[0025] 作为本发明提供的一种红斑病电子病历病变分类的增量属性约简Spark方法进一步优化方案,所述步骤6的具体步骤如下:
[0026] 步骤6.1、在从节点slavei中,从候选属性集I中逐一挑选某个属性at,并计算其相对于总红斑病病历数据集的外部属性重要度 计算公式如下:
[0027]
[0028] 步骤6.2、在从节点slavei中,挑选出外部属性重要度最大的属性amax加入红斑病病历约简集中;
[0029] 步骤6.3、在从节点slavei中,继续比较条件属性集相对于决策属性的知识粒度与原约简属性集相对于决策属性的知识粒度 是否相等;
[0030] 步骤6.4、在从节点slavei中,从约简集B中逐一挑选某个属性at,将其从B中剔除后计算约简集相对决策属性的知识粒度
[0031] 步骤6.5、在从节点slavei中,再将其与条件属性集相对于决策属性的知识粒度相比较,如果相同,则将at从红斑病病历约简集B剔除;
[0032] 步骤6.6、在从节点slavei中,对红斑病病历约简集B进行修改,最终得到的即是从节点slavei的红斑病病历约简集。
[0033] 与现有技术相比,本发明的有益效果为:本发明在面对新增数据集规模较大,最终类别繁多的实际问题时,能够有效利用上次计算所得结果,将其加入到本次计算中,大幅度
节省了红斑病电子病历的数据处理时间,将数据以划分子集的方式分配到各个节点并行处
理和计算,也提高了红斑病电子病历属性约简的效率和精度,降低了误诊几率,对于红斑病
电子病历的处理及最终诊断提供了便利,在对于红斑病智能辅助分类方面具有较强的应用
价值。

附图说明

[0034] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
[0035] 图1为本发明红斑病电子病历病变分类的增量属性约简Spark方法的总体框架图。
[0036] 图2为本发明红斑病电子病历病变分类的增量属性约简Spark方法的流程图。
[0037] 图3为本发明红斑病电子病历病变分类的增量属性约简Spark方法的Spark架构图。

具体实施方式

[0038] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于
限定本发明。
[0039] 实施例1
[0040] 参见图1至图3,本发明提供其技术方案为,红斑病电子病历病变分类的增量属性约简 Spark方法,包括以下步骤:
[0041] 步骤1、在Spark框架下的主控节点master中,通过Hadoop分布式文件系统HDFS读取红斑病电子病历的数据集合S,约简属性集B以及新增红斑病病历数据集S',红斑病病历
信息的数据集合S和新增红斑病病历数据集S'定义如下:
[0042] S={U,CUD,V,f},其中U={x1,x2,...,xN}表示红斑病病历信息中的患者数据,N表示患者数据的总数量;S'={U',CUD,V,f},其中U'={x1,x2,...,xM}表示新增红斑病病历信
息中的患者数据,M表示新增病历中患者数据的总数量;C表示红斑病病历条件属性的非空
有限集;D表示红斑病病历信息决策属性的非空有限集,且 V=Ua∈CUDVa,Va是红斑
病病历信息属性a的可能情况;f:U×(CUD)→V是一个信息函数,它为每个患者赋予一个信
息值,即
[0043] 以如下决策表为例,表1为原红斑病数据集决策表S,原约简集B={a2,a5},
[0044] 通过Hadoop分布式文件系统HDFS读取数据到Spark框架下的主控节点master中。
[0045]
[0046]
[0047] 表1
[0048] 步骤2、根据新增红斑病病历信息决策属性D的不同信息值个数,将新增红斑病病历信息集合S'划分成n个红斑病病历信息子集S'={S'1,S'2,...,S'n},且满足  
S'i={U'i,CUD,V,f}, 其中 表示子节点i上新增红斑病病历
信息中的患者数据,i≠j,i=1,2,...,n,j=1,2,...,n,并将原红斑病病历数据集S和划分
的新增病历信息子集S'i发送到相应的从节点slavei上;
[0049] 表2为新增红斑病数据集决策表S'划分后的某子表S'i。
[0050] U a1 a2 a3 a4 a5 du10 1 0 0 0 1 0
u11 0 0 1 0 1 1
u12 0 1 1 1 1 1
[0051] 表2
[0052] 步骤3、在从节点slavei中,分别计算原红斑病病历数据集对原约简集的划分原红斑病病历数据集对条件属性集的划分
新增红斑病病历数据集对原约简集的划分 新增红斑病病历数据集对
条件属性集的划分
[0053] 计算可得U/B={{u1,u2,u4},{u3,u5},{u6,u7},{u8,u9}}, U/C={{u1},{u2,u4},{u3,u5},{u6,u7},{u8,u9}},U'i/B={{u10,u11},{u12}}, U'i/C={{u10},{u11},{u12}}。
[0054] 步骤4、在从节点slavei中,分别计算红斑病病历总数据集对原约简集的划分红斑病病历总数据集对条件属性集的划分
[0055] 计算可得(UUU'i)/B={{u1,u2,u4,u10,u11},{u3,u5},{u6,u7},{u8,u9,u12}},
[0056] (UUU'i)/C={{u1,u10},{u2,u4,u11}{u3,u5},{u6,u7},{u8,u9},{u12}}。
[0057] 步骤5、在从节点slavei中,分别计算新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度 是否等于原约简属性集相对于决策属性的知识粒度
若相等,则原约简集不变,跳转至步骤7,否则,继续步骤6;
[0058] 步骤6、在从节点slavei中,分别计算总红斑病病历数据集中条件属性集相对于决策属性的知识粒度 是否等于原约简属性集相对于决策属性的知识粒度
若不等,则从候选属性集I中挑选属性重要度最大的属性amax添加进红斑病
病历约简集,其中I=(C‑B),即条件属性集去除约简集后所剩集合,不断重复该操作直至相
等,接着,对得到的红斑病病历约简集B进行进一步处理,将无关属性剔除,得到从节点
slavei中的最终约简集;
[0059] 步骤7、在从节点slavei中,将红斑病病历约简集发送到Spark主控节点master中,在 Spark主控节点master中,对各从节点slavei发送来的红斑病病历约简集进行交集操
作,取得交集属性,即为约简属性集。
[0060] 优选地,所述步骤5的具体步骤如下:
[0061] 步骤5.1、在从节点slavei中,计算新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度 计算公式如下:
[0062]
[0063] 其中, 为新增红斑病病历数据集中条件属性C的知识粒度,其定义如下:
[0064]
[0065] 为新增红斑病病历数据集中全部属性CUD的知识粒度,其定义如下:
[0066]
[0067] 计算可得
[0068] 步骤5.2、在从节点slavei中,计算新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度 计算公式如下:
[0069]
[0070] 计算可得
[0071] 步骤5.3、在从节点slavei中,计算二者知识粒度,即 和 是否相等。
[0072] 因为新增红斑病病历数据集中条件属性集相对于决策属性的知识粒度与原约简属性集相对于决策属性的知识粒度不相等,所以原约简集需要修改,进入步骤6。
[0073] 优选地,所述步骤6的具体步骤如下:
[0074] 步骤6.1、在从节点slavei中,从候选属性集I中逐一挑选某个属性at,并计算其相对于总红斑病病历数据集的外部属性重要度 计算公式如下:
[0075]
[0076] 第一轮遍历时,计算可得
[0077]
[0078]
[0079] 第二轮遍历时,计算可得
[0080] 步骤6.2、在从节点slavei中,挑选出外部属性重要度最大的属性amax加入红斑病病历约简集中;
[0081] 第一轮遍历,将外部属性重要度最大的属性,即a1加入约简集B中,则B={a1,a2,a5};
[0082] 第二轮遍历,将外部属性重要度最大的属性,即a4加入约简集B中,则B={a1,a2,a4,a5}。
[0083] 步骤6.3、在从节点slavei中,继续比较条件属性集相对于决策属性的知识粒度与原约简属性集相对于决策属性的知识粒度 是否相等;
[0084] 第一轮遍历中,计算可得总红斑病病历数据集中条件属性集相对于决策属性的知识粒 度 而原 约简 属性 集相 对于 决策 属性的 知 识粒 度
二者不相等,所以进入第二轮遍历。
[0085] 第二轮遍历中,计算可得总红斑病病历数据集中条件属性集相对于决策属性的知识粒 度 而 原 约简 属性 集 相对 于决 策 属性 的 知识 粒 度
二者相等,所以跳出循环。
[0086] 步骤6.4、在从节点slavei中,从约简集B中逐一挑选某个属性at,将其从B中剔除后计算约简集相对决策属性的知识粒度
[0087] 计算可得,
[0088] 步骤6.5、在从节点slavei中,再将其与条件属性集相对于决策属性的知识粒度相比较,如果相同,则将at从红斑病病历约简集B剔除;
[0089] 计算可得
[0090] 步骤6.6、在从节点slavei中,对红斑病病历约简集B进行修改,最终得到的即是从节点slavei的红斑病病历约简集。
[0091] 因为约简集中剔除属性后的相对决策属性的知识粒度 与条件属性集相对于决策属性的知识粒度 相等,所以不需要删除属性。
[0092] 本发明的工作原理:首先在Spark主控节点中读取原红斑病病历数据集和约简集以及新增红斑病数据集,并将其和原约简集分别发送到n个子节点中;其次,各个子节点上
分别在新增红斑病病历数据集和总数据集中进行一系列等价类划分;接着,在新增红斑病
数据集中计算相关知识粒度,并在子节点上计算剩余候选属性的属性重要度,将重要度最
大的属性添加进约简集,直至总红斑病病历数据集中原约简集和条件属性集相对于决策属
性的知识粒度相等,然后将约简集中对数据集无影响的属性剔除,发送到Spark主控节点;
最后,将各个子节点的红斑病病历约简集进行处理,得到最终红斑病电子病历约简集。
[0093] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。