论文部分内容阅读
随着医疗信息化进程的推进,医疗数据日益增长。在此背景下,传统的关联规则挖掘算法在医疗大数据中存在算法运行时间过长的问题。云计算平台的出现为该问题提供了有效的解决方案。本文对关联规则中的等价类转换Eclat算法进行研究与优化,提出了R-Eclat算法,运用Spark云计算框架实现了R-Eclat的并行化,将并行算法应用在医疗大数据上。主要做了以下的工作:1.等价类转换Eclat算法的研究与优化。针对数据库中事务集的规模增大的时候,会出现时间以及空间复杂度增大的问题,利用关联规则中的先验定理,在Eclat算法的连接步中提出了优化方案,减少部分重复的或者非频繁项集,提出了改进算法——R-Eclat。通过与原算法在不同类型的公开数据集上进行对比实验验证R-Eclat算法的有效性。REclat算法比原算法具有更快的运行时间,算法运行效率最高提升了20%;对比稠密型数据集,R-Eclat算法优化效果在稀疏数据集上更为明显。2.基于Spark RDD的R-Eclat算法并行化研究。针对算法在串行环境下存在的问题,使用了Spark RDD算子对R-Eclat算法提出了并行化方案,该算法在R-Eclat算法在挖掘频繁项集的交并操作过程中加入了一个三角累积矩阵,优化了候选频繁项集的筛选操作。然后在搭建好的Spark集群,实现了并行化的R-Eclat算法。通过对比同样基于Spark的YAFIM算法以及改变集群的计算节点个数进行实验,在算法效率上,R-Eclat算法比YAFIM算法有一定的提升,同时R-Eclat算法在Spark集群环境中具有良好的计算节点可拓展性。3.并行化的R-Eclat算法在糖尿病数据集中应用。针对算法使用三角矩阵作为累加器的特点,将数据集的属性项映射到对应的项编号表上。将数据集拆分为不同规模大小,与串行环境下的算法进行对比实验。实验结果表明:当数据规模越大时候,算法的效率提升效果越明显;挖掘出的关联规则表明:糖化血红蛋白的检测能够判断糖尿病患者是否需要再次送院治疗。