一种Spark平台下基于k-means聚类的异常数据清洗方法

文档序号:486068 发布日期:2022-01-04 浏览:42次 >En<

阅读说明:本技术 一种Spark平台下基于k-means聚类的异常数据清洗方法 (Abnormal data cleaning method based on k-means clustering under Spark platform ) 是由 王军 王志明 隋鹤铭 焦美晴 于 2021-09-07 设计创作,主要内容包括:一种Spark平台下基于k-means聚类的异常数据清洗方法,涉及一种工业系统异常数据清洗方法,该方法提出了基于RDD权重值的替换算法LRU-W,并在Spark框架中替换掉默认的缓存替换策略。提出了基于Spark平台下异常数据清洗方法,设计使用Canopy算法以及加权欧氏距离对K-means数据聚类算法做出了一定的优化及改进。通过使用这种方法在工业大数据环境中清理异常数据,可以在数据确定的准确性和加速性方面获得良好的实验性能。(An abnormal data cleaning method based on k-means clustering under a Spark platform relates to an abnormal data cleaning method of an industrial system, and provides a replacement algorithm LRU-W based on an RDD weighted value, and a default cache replacement strategy is replaced in a Spark framework. The abnormal data cleaning method based on the Spark platform is provided, and the K-means data clustering algorithm is optimized and improved to a certain extent by designing and using the Canopy algorithm and the weighted Euclidean distance. By cleaning abnormal data in an industrial big data environment by using the method, good experimental performance can be obtained in the aspects of accuracy and acceleration of data determination.)

一种Spark平台下基于k-means聚类的异常数据清洗方法

技术领域

本发明涉及一种工业系统清理异常数据方法,特别是涉及一种Spark平台下基于k-means聚类的异常数据清洗方法。

背景技术

工业系统正在与互联网和计算机技术高度紧密的进行结合,工业系统也由人工控制在向智能化方向转变。由此大量的工业数据需要计算机系统处理的问题继续解决,随之而来,工业大数据也在不断的丰富来源,拥有越来越多样化的数据,而工业生产过程中产生的数据信息也在持续不断的增长。相对而言,工业数据中会更加复杂,而且随着继续发展,工业大数据的维度也会继续增长。因此,对于工业数据的有价值信息挖掘将会决定工业智能化的发展。传统的工业数据使用本地单机存储处理,这样数据量可能相对较少,而且数据处理技术不明确,对数据的利用率低,而且由于单机数据相对较少,数据分析结果可能偏差较大。目前企业用户可以通过云端存储技术来获取到大量的数据空间,越来越多的用户使用云存储服务将本地数据转移到云存储,并实现数据共享与多个用户,同时也可以实现数据云计算,在增加数据量的同时,也解决了单机数据处理较慢的问题。

在工业数据处理方面上,与传统的Hadoop平台作为数据处理框架相比,spark生态圈技术明显更适合高效率的数据处理,spark框架在进行数据运算时使用内存空间进行计算并存储,极大的提升在进行数据处理等任务时的执行效率,但是由于内存的昂贵价值,导致了Spark框架的局限性,因此,能否合理的利用Spark框架的内存空间,将会直接影响到整个任务执行时的出具处理效率。

发明内容

本发明的目的在于提供一种Spark平台下基于k-means聚类的异常数据清洗方法,本发明提出了基于RDD权重值的替换算法LRU-W,并在Spark框架中替换掉默认的缓存替换策略。提出了基于Spark平台下异常数据清洗方法,使用Canopy算法以及加权欧氏距离对K-means数据聚类算法做出了一定的优化及改进。通过使用这种方法在工业大数据环境中清理异常数据,可以在数据确定的准确性和加速性方面获得良好的实验性能。

本发明的目的是通过以下技术方案实现的:

一种Spark平台下基于k-means聚类的异常数据清洗方法,所述方法包括以下流程:

整个任务的替换流程为:在Spark的Storage模块中 BlockManager类通过在存储模块和其他模块之间提供交互界面来管理整个存储模块;缓存替换策略将会维护RDD权重列表,为方便起见,找到权重最小的RDD;在Spark源代码中,原始块信息是使用LinkedHashMap存储,并且每个RDD的使用都按LinkedHashMap定义的迭代顺序进行记录;在任务执行期间,通过确定使用RDD的次数来确定是否需要缓存与RDD相对应的块;如果有足够的内存空间去进行缓存,则直接缓存并记录与该块相对应的信息;如果剩余空间不足,则需要替换缓存并更新权重信息;

基于K-means算法的优化与改进

首先,基于“最小最大原理”的思想选择Canopy算法的中心点,为了有效地解决在使用此方法选择中心点的过程中的局部最优问题,假设Canopy的第一个x中心点是已知的,然后准确确定x +1个中心点,首先需要确保这一点满足以下条件;

(1)

(2)

在上述条件下,最小值[d(Ax + 1,An)]表示x + 1的中心点与第一个xx中心点之间的最小距离,而Dmin(x +1)表示最佳距离d(Ax +1))被认为是所有的最小间距最大的距离;一旦你确定Canopy的中心算法,接下来的主要任务是解决这个问题的k值和t的区域半径;为了更加高效的处理这样的问题,这篇论文利用边界识别的理念来设置一个反映D变化范围的深度指示器;为了方便起见,这里将其表示为深度x,公式为:

(3)

深度值可以在公式中清楚地看到,深度Depth(x)根据x的值而变化,也就是说,仅当x的值可以反映算法的最佳聚类时;深度值深度(x)最大;得到这样的新定义:数据集C={xi∣i=1,2,n} ,对于若满足下面的条件,那么,候选值是一套Canopy的中心,Dmin(m)表明数据点是所有最短距离中的超大者。

(4)。

附图说明

图1为本发明 LRU-W缓存替换算法流程图。

具体实施方式

下面结合实施例对本发明进行详细说明。

LRU-W缓存替换流程,在Spark平台中,RDD用于实现用户逻辑,而存储模块则用于管理用户数据。存储模块主要管理任务在计算过程中生成的各种数据,并且可以缓存在内存或磁盘中,这是Spark处理框架的重要组成部分。中间数据包括几种类型:RDD缓存,随机缓存,存储在磁盘上的数据和广播变量。重点是通过存储模块进行RDD缓存管理,可以在主/从模式下定义Spark的存储模块,其中在驱动程序中运行的BlockManager实例被定义为主,而在Executor中运行的BlockManager实例被定义为从。当驱动程序为Spark作业中的每个RDD保存块数据时,驱动程序会向每个执行程序发送命令。每个执行器的BlockManager负责管理相应节点的内存和磁盘的块数据块,并同时从驱动程序接收命令,及时更新本地数据,并返回更新结果。

替换策略的主要思想:在任务执行过程中,首先根据已执行的RDD序列会缓存已被使用多次的RDD,因此在缓存之前,必须首先计算RDD的权重,定义一个Map<RDDid,weight>类型数据结构用来存储RDD的权重值,然后每个节点都会对相应的数据进行缓存。在进行缓存时先在遍历Map数据集,如果发现当前数据已经被缓存则将使用次数加1,重新计算RDD的权重值,并更新在Map中的数据,如果缓存空间不足时,调用缓存替换算法进行缓存替换,将此RDD的权重值与Map中的数据进行对比,将权重值小的RDD新型缓存替换,并更新Map中的数据。对于垃圾回收选择一种以获取最短回收停顿时间为目标的CMS收集器(并发低停顿收集器),内存清除与任务计算过程是并发的,任务执行时间不会受这个缓存替换影响。

整个任务的替换流程如下:

在Spark的Storage模块中 BlockManager类通过在存储模块和其他模块之间提供交互界面来管理整个存储模块。缓存替换策略将会维护RDD权重列表,为方便起见,找到权重最小的RDD。在Spark源代码中,原始块信息是使用LinkedHashMap存储的,并且每个RDD的使用都按LinkedHashMap定义的迭代顺序进行记录。在任务执行期间,通过确定使用RDD的次数来确定是否需要缓存与RDD相对应的块。如果有足够的内存空间去进行缓存,则直接缓存并记录与该块相对应的信息。如果剩余空间不足,则需要替换缓存并更新权重信息。

基于K-means算法的优化与改进

首先,基于“最小最大原理”的思想选择Canopy算法的中心点。为了有效地解决在使用此方法选择中心点的过程中的局部最优问题,我们假设Canopy的第一个x中心点是已知的,然后准确确定x +1个中心点。首先需要确保这一点满足以下条件。

(1)

(2)

在上述条件下,最小值[d(Ax + 1,An)]表示x + 1的中心点与第一个xx中心点之间的最小距离,而Dmin(x +1)表示最佳距离d(Ax +1))被认为是所有的最小间距最大的距离。一旦你确定Canopy的中心算法,接下来的主要任务是解决这个问题的k值和t的区域半径[39]。为了更加高效的处理这样的问题,这篇论文利用边界识别的理念来设置一个反映D变化范围的深度指示器。为了方便起见,这里将其表示为深度x,公式为:

(3)

深度值可以在公式中清楚地看到,深度Depth(x)根据x的值而变化,也就是说,仅当x的值可以反映算法的最佳聚类时。深度值深度(x)最大。得到这样的新定义:数据集C={xi∣i=1,2,n} ,对于若满足下面的条件,那么,候选值是一套Canopy的中心,Dmin(m)表明数据点是所有最短距离中的超大者。

(4)。

6页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种防止外插卡热插拔时导致线路故障的装置及服务器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类