一种基于密度聚类的数据清洗方法及装置制造方法及图纸

技术编号:22167033 阅读:14 留言:0更新日期:2019-09-21 10:38
本发明专利技术提供一种基于密度聚类的数据清洗方法及装置,能够提高清洗结果的准确率。所述方法包括:获取待清洗的数据集,其中,所述数据集中样本的属性值包括:数值型数据和字符型数据;对数值型数据和字符型数据分别采用标准化的欧式距离和基于编辑距离的字符串相似度算法,确定数据集中样本间的距离;根据确定的数据集中样本间的距离,对DBSCAN算法的eps和minPts进行估计;将估计的eps和minPts值作为DBSCAN参数值,对待清洗的数据集进行密度聚类;根据聚类结果,对待清洗的数据集中的数据进行清洗。本发明专利技术涉及数据挖掘领域。

A Data Cleaning Method and Device Based on Density Clustering

【技术实现步骤摘要】
一种基于密度聚类的数据清洗方法及装置
本专利技术涉及数据挖掘领域,特别是指一种基于密度聚类的数据清洗方法及装置。
技术介绍
目前已经进入了信息爆炸的时代,数据已经成为推动行业发展的重要动力。数据中隐藏的巨大的财富,企业可以从中获取大量有用信息,从商务管理,市场分析,科学探索等各个方面为企业的发展决策提供支持,促进自身企业的发展。然而现实中的数据往往是错综复杂的,不同结构的数据,以及数据中存在不同类型的脏数据,如错误数据,无效数据和缺失重复数据等,都极大地加大了数据分析的难度。机器学习方法已经广泛应用到数据清洗领域,机器学习方法的核心目的是对数据集进行聚类。聚类分析又称群分析,是一种研究样本分类的统计学方法。聚类的目的是使同一类对象之间的相似度尽可能大,不同类对象之间的相似度尽可能小。具有噪声的基于密度的聚类(Density-BasedSpatialClusteringofApplicationswithNoise,DBSCAN)算法是一种经典的聚类算法,DBSCAN最终的聚类结果非常依赖eps和minPts参数值的选择,如果eps和minPts参数值选取不当,将导致聚类结果较差,甚至出现错误聚类,其中,eps表示扫描半径,minPts表示最小包含点数,现有技术中,一般是由人工根据经验设置DBSCAN算法的参数eps和minPts,导致聚类结果准确性低。
技术实现思路
本专利技术要解决的技术问题是提供一种基于密度聚类的数据清洗方法及装置,以解决现有技术所存在的由人工根据经验设置DBSCAN算法的参数eps和minPts,导致聚类结果准确性低的问题。为解决上述技术问题,本专利技术实施例提供一种基于密度聚类的数据清洗方法,包括:获取待清洗的数据集,其中,所述数据集中样本的属性值包括:数值型数据和字符型数据;对数值型数据和字符型数据分别采用标准化的欧式距离和基于编辑距离的字符串相似度算法,确定数据集中样本间的距离;根据确定的数据集中样本间的距离,对DBSCAN算法的eps和minPts进行估计,其中,eps表示扫描半径,minPts表示最小包含点数,DBSCAN表示具有噪声的基于密度的聚类;将估计的eps和minPts值作为DBSCAN参数值,对待清洗的数据集进行密度聚类;根据聚类结果,对待清洗的数据集中的数据进行清洗。进一步地,样本间的距离表示为:其中,dist(X,Y)表示样本X、Y间的距离,wk表示样本第k个属性值的权值,表示当样本第k个属性值为数值型时样本属性间的标准化欧式距离,sim(xsk,ysk)表示当样本第k个属性值为字符型时样本属性的基于编辑距离的字符串相似度,n表示样本中包含的属性个数,εk表示第k条属性的缺失状态,xnk和ynk分别表示X和Y的第k个属性为数值型的值,xsk,ysk分别表示X和Y的第k个属性为字符型的值,X和Y表示数据集两个样本,z(xnk)、z(ynk)分别表示标准化后的xnk、ynk。进一步地,εk表示为:进一步地,z(xnk)表示为:其中,u为数据集中所有样本第k个属性的均值,σ为数据集中所有样本标准差。进一步地,基于编辑距离的字符串相似度表示为:其中,sim(S,T)表示基于编辑距离字符串S和T间的相似度,S和T表示数据集中2个样本的字符型属性值,m、d分别表示字符串S和T中字符的数目,ld表示字符串S变化到字符串T所需的最小编辑操作次数。进一步地,所述根据确定的数据集中样本间的距离,对DBSCAN算法的eps和minPts进行估计包括:根据确定的数据集中样本间的距离,构建数据集样本距离矩阵;对样本距离矩阵的每一行数据进行升序排序,排序后的矩阵的第K列表示每个样本点距离自己第K个近邻样本点间的距离,对排序后的矩阵的每列计算均值,得到K-平均最近邻距离矩阵,将K-平均最近邻距离矩阵作为eps的候选值;根据得到的eps值,确定每个样本点在eps邻域所包含的样本个数,计算所有样本点包含的样本个数的均值作为minPts值。7.根据权利要求6所述的基于密度聚类的数据清洗方法,其特征在于,eps表示为:其中,Deps为eps参数的候选值集合,表示样本距离矩阵DN×N排序后第K列的均值,N表示数据集中样本个数;minPts表示为:其中,Pi为第i个样本eps邻域内包含的样本个数。进一步地,所述将估计的eps和minPts值作为DBSCAN参数值,对待清洗的数据集进行密度聚类包括:依次选用不同K值下的eps和minPts,将其带入DBSCAN算法中,对待清洗的数据集进行密度聚类,若簇的个数连续3次不变,判定聚类趋于稳定,选取当前的eps和minPts作为DBSCAN算法参数eps和minPts的最优值;根据得到的eps和minPts的最优值,对待清洗的数据集进行密度聚类。进一步地,所述根据聚类结果,对待清洗的数据集中的数据进行清洗包括:若缺失的属性值为数值型数据,将对应样本所在簇的属性均值填入缺失数据;若缺失的属性值为字符型数据,获取相应样本所在簇出现频率最高的属性值作为缺失数据;若簇中2个样本间的举例大于预设的距离阈值,则判断该2个样本为重复数据,合并所述重复数据。本专利技术实施例还提供一种基于密度聚类的数据清洗装置,包括:获取模块,用于获取待清洗的数据集,其中,所述数据集中样本的属性值包括:数值型数据和字符型数据;确定模块,用于对数值型数据和字符型数据分别采用标准化的欧式距离和基于编辑距离的字符串相似度算法,确定数据集中样本间的距离;估计模块,用于根据确定的数据集中样本间的距离,对DBSCAN算法的eps和minPts进行估计,其中,eps表示扫描半径,minPts表示最小包含点数,DBSCAN表示具有噪声的基于密度的聚类;聚类模块,用于将估计的eps和minPts值作为DBSCAN参数值,对待清洗的数据集进行密度聚类;清洗模块,用于根据聚类结果,对待清洗的数据集中的数据进行清洗。本专利技术的上述技术方案的有益效果如下:上述方案中,获取待清洗的数据集,其中,所述数据集中样本的属性值包括:数值型数据和字符型数据;对数值型数据和字符型数据分别采用标准化的欧式距离和基于编辑距离的字符串相似度算法,确定数据集中样本间的距离;根据确定的数据集中样本间的距离,对DBSCAN算法的eps和minPts进行估计,从而自适应获取eps和minPts值;将估计的eps和minPts值作为DBSCAN参数值,对待清洗的数据集中的数值型数据和字符型数据进行密度聚类;根据聚类结果,对待清洗的数据集中的数据进行清洗,以便清洗掉不同数据类型的脏数据。这样,通过自适应获取eps和minPts的DBSCAN算法,对待清洗的数据集进行聚类,并根据聚类结果清洗掉不同数据类型的脏数据,能够提高清洗结果的准确率。附图说明图1为本专利技术实施例提供的基于密度聚类的数据清洗方法的流程示意图;图2为本专利技术实施例提供的基于密度聚类的数据清洗方法的详细流程示意图;图3为本专利技术实施例提供的基于密度聚类的数据清洗装置的结构示意图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。本专利技术针对现有的由人工根据经验设置DBSCAN算法的参数eps和minPts,导致聚类结果准确性低的问题,提供一种本文档来自技高网...

【技术保护点】
1.一种基于密度聚类的数据清洗方法,其特征在于,包括:获取待清洗的数据集,其中,所述数据集中样本的属性值包括:数值型数据和字符型数据;对数值型数据和字符型数据分别采用标准化的欧式距离和基于编辑距离的字符串相似度算法,确定数据集中样本间的距离;根据确定的数据集中样本间的距离,对DBSCAN算法的eps和minPts进行估计,其中,eps表示扫描半径,minPts表示最小包含点数,DBSCAN表示具有噪声的基于密度的聚类;将估计的eps和minPts值作为DBSCAN参数值,对待清洗的数据集进行密度聚类;根据聚类结果,对待清洗的数据集中的数据进行清洗。

【技术特征摘要】
1.一种基于密度聚类的数据清洗方法,其特征在于,包括:获取待清洗的数据集,其中,所述数据集中样本的属性值包括:数值型数据和字符型数据;对数值型数据和字符型数据分别采用标准化的欧式距离和基于编辑距离的字符串相似度算法,确定数据集中样本间的距离;根据确定的数据集中样本间的距离,对DBSCAN算法的eps和minPts进行估计,其中,eps表示扫描半径,minPts表示最小包含点数,DBSCAN表示具有噪声的基于密度的聚类;将估计的eps和minPts值作为DBSCAN参数值,对待清洗的数据集进行密度聚类;根据聚类结果,对待清洗的数据集中的数据进行清洗。2.根据权利要求1所述的基于密度聚类的数据清洗方法,其特征在于,样本间的距离表示为:其中,dist(X,Y)表示样本X、Y间的距离,wk表示样本第k个属性值的权值,表示当样本第k个属性值为数值型时样本属性间的标准化欧式距离,sim(xsk,ysk)表示当样本第k个属性值为字符型时样本属性的基于编辑距离的字符串相似度,n表示样本中包含的属性个数,εk表示第k条属性的缺失状态,xnk和ynk分别表示X和Y的第k个属性为数值型的值,xsk,ysk分别表示X和Y的第k个属性为字符型的值,X和Y表示数据集两个样本,z(xnk)、z(ynk)分别表示标准化后的xnk、ynk。3.根据权利要求2所述的基于密度聚类的数据清洗方法,其特征在于,εk表示为:4.根据权利要求2所述的基于密度聚类的数据清洗方法,其特征在于,z(xnk)表示为:其中,u为数据集中所有样本第k个属性的均值,σ为数据集中所有样本标准差。5.根据权利要求1所述的基于密度聚类的数据清洗方法,其特征在于,基于编辑距离的字符串相似度表示为:其中,sim(S,T)表示基于编辑距离字符串S和T间的相似度,S和T表示数据集中2个样本的字符型属性值,m、d分别表示字符串S和T中字符的数目,ld表示字符串S变化到字符串T所需的最小编辑操作次数。6.根据权利要求1所述的基于密度聚类的数据清洗方法,其特征在于,所述根据确定的数据集中样本间的距离,对DBSCAN算法的eps和minPts进行估计包括:根据确定的数据集中样本间的距离,构建数据集样本距离矩阵;对样本距离矩阵的每一行数据进行升序排序,排序后的矩阵的第K列表示每个样本点距离...

【专利技术属性】
技术研发人员:许海涛张晓鹏周贤伟林福宏吕兴安建伟
申请(专利权)人:北京科技大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1