一种自动识别数据集中最佳聚类数的方法技术

技术编号:26891679 阅读:34 留言:0更新日期:2020-12-29 16:10
本发明专利技术公开了一种自动识别数据集中最佳聚类数的方法,包括:在候选范围内各聚类数实例化K‑means后获得的质心基础上,通过平均畸变函数、质心、数据集以及0‑10正则化进行转换以及封装成数据对,利用反余弦函数对其进行进一步的计算最终得到候选范围内的最佳聚类数,最后基于获得的最佳聚类数对数据集中的数据进行分类标记。本发明专利技术能够为要分析的数据集自动指定候选最佳聚类数的范围,并自动识别出该候选范围内的最佳聚类数以及对数据集中的数据进行分类标记。

【技术实现步骤摘要】
一种自动识别数据集中最佳聚类数的方法
本专利技术涉及无监督聚类学习
,更具体的说是涉及一种自动识别数据集中最佳聚类数的方法。
技术介绍
随着信息技术和科学技术的快速发展,人们的生产活动产生了海量数据,使人类步入了大数据时代。越来越多的人通过机器学习来研究大数据,且从大数据的研究中获得了一定的新知识或技能。尤其是通过机器学习中的无监督学习来对大数据中蕴含的新知识进行分析和挖掘。无监督学习模型可以帮助研究人员更好地发现数据集中的“群落”,同时也可以寻找“离群”的样本,这是大数据分析处理常用的机器学习模型。数据聚类是无监督学习的主流应用之一,聚类是一个将整体的数据对象划分为以类或簇存在的包含局部数据对象的过程。聚类模型中最为经典并且易用的是K均值(K-means)算法。获取良好聚类效果的关键在于确定最佳的聚类数,然而,往往根据已知的信息无法事先确定一个合适的聚类数,这就需要人为为最佳聚类数指定一个候选范围,然后依次使用该候选范围内的聚类数来赋值给K-means中的n_clusters,最后通过可视化的方式来评估出K-means通过人为为某个数据集指定的候选范围内的一个最佳聚类数,然后基于最佳聚类数来对数据集中的数据进行分类标记。即获得数据集的最佳聚类数需要借助可视化,这就影响了K-means在自动化系统中的使用及推广。因此,如何提供一种能够自动识别出候选范围内的最佳聚类数,以及对数据集中的数据进行分类标记的自动识别数据集中最佳聚类数的方法是本领域技术人员亟需解决的问题。
技术实现思路
r>有鉴于此,本专利技术提供了一种自动识别数据集中最佳聚类数的方法,能够为要分析的数据集自动指定候选最佳聚类数的范围,并自动识别出该候选范围内的最佳聚类数以及对数据集中的数据进行分类标记。为了实现上述目的,本专利技术采用如下技术方案:一种自动识别数据集中最佳聚类数的方法,包括:步骤S1、自动设定最佳聚类数K的候选范围RL:[1,2,…,M],其中,步骤S2、利用RL内的各聚类数实例化K-means,并获得具有N个样本数据的数据集和相应聚类数对应的质心;步骤S3、基于获得的质心、数据集以及平均畸变函数计算RL内M个聚类数对应的平均畸变函数值;步骤S4、利用0-10正则化公式对获得的M个平均畸变函数值进行转换;步骤S5、将M个转换后的平均畸变函数值与RL内相应的聚类数封装成M个数据对;步骤S6、利用值域为[0,p]的反余弦函数求M个数据对组成的M-2个从第一个数据对开始的任意连续三个数据对之间的夹角值;步骤S7、找出M-2个夹角值中的最小夹角值;步骤S8、获得最小夹角值在M-2个夹角中对应的序号值,其中,序号值从0开始,并对序号值加上2得到RL中的最佳聚类数K;步骤S9、利用获得的最佳聚类数K将K-means实例化成kmeans,通过kmeans来训练数据集,获得数据的标签,并对数据集中的数据进行分类标记。经由上述的技术方案可知,与现有技术相比,本专利技术能够为要分析的数据集自动指定候选最佳聚类数的范围,并自动识别出该候选范围内的最佳聚类数以及对数据集中的数据进行分类标记。这就可以避免K-means算法需要人为事先手动为某个数据集指定最佳聚类数的候选范围,以及依次执行使用候选范围内的聚类数实例化K-means之后通过可视化的方式来手动识别出数据集中的最佳聚类数。也就是说该方法能够使人们在使用K-means获得数据集中最佳聚类数和分类标记时进一步摆脱对人的依赖,同样有利于K-means在自动化系统中的进一步应用与推广。本专利技术不适用于具有如下特征的数据集:1)数据集中只包含一个类簇或类簇数大于其中,N指数据集中样本的数量;2)数据集中的样本数量不大于25;3)数据集中的类簇不符合均匀分布或不符合正态分布;4)数据集中的样本数据不是二维数据。优选的,在上述一种自动识别数据集中最佳聚类数的方法中,步骤S2包括:步骤S21、初始化k=1,生成一个空的平均畸变函数值列表MDL和一个空的0-10正则化平均畸变函数值列表RMDL;步骤S22、如果k∈RL,执行步骤S23;如果则执行步骤S4;步骤S23、用k来实例化sklearn.cluster.KMeans中的参数n_clusters得到实例对象kmeans;步骤S24、通过实例对象kmeans拟合具有N个样本数据的数据集,并得到各聚类数对应的k个质心。优选的,在上述一种自动识别数据集中最佳聚类数的方法中,步骤S3包括:步骤S31、利用平均畸变函数、得到的k个质心以及数据集来获得平均畸变函数值,并将该平均畸变函数值添加到MDL中;步骤S32、设ki=ki-1+1,1<i≤M,重复步骤S22~S32。优选的,在上述一种自动识别数据集中最佳聚类数的方法中,步骤S4的转换结果依次添加至RDML中。优选的,在上述一种自动识别数据集中最佳聚类数的方法中,步骤S5中的数据对的获得过程为:将RMDL中的值与RL中的值按序依次封装成数据对,并依次添加到数据对列表PL中。优选的,在上述一种自动识别数据集中最佳聚类数的方法中,将RMDL中的第j个元素与RL中的第j个元素封装成第j个数据对,并将第j个数据对添加至数据对列表PL中,其中,1≤j≤M。优选的,在上述一种自动识别数据集中最佳聚类数的方法中,将M-2个夹角值依次添加至夹角值列表AL中,其中,夹角的单位为弧度。优选的,在上述一种自动识别数据集中最佳聚类数的方法中,分别赋予M-2个夹角在AL中对应的序号值,并赋予最小夹角值在AL中的序号值为Imin。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1附图为本专利技术提供的总体流程图;图2附图为本专利技术提供的具有2个类簇的32个样本数据集;图3附图为本专利技术提供的32个样本数据的散点图;图4附图为本专利技术提供的32个样本数据对应的类别标记结果。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本专利技术实施例公开了一种自动识别数据集中最佳聚类数的方法,包括以下步骤:步骤S1、自动设定最佳聚类数K的候选范围RL:[1,2,…,M],其中,步骤S2、利用RL内的各聚类数实例化K-means,并获得具有N个样本数据的数据集和相应聚类数对应的质心;步骤S3、基于获得的质心、数据集以及平均畸变函数计算RL内M本文档来自技高网...

【技术保护点】
1.一种自动识别数据集中最佳聚类数的方法,其特征在于,包括:/n步骤S1、自动设定最佳聚类数K的候选范围RL:[1,2,…,M],其中,

【技术特征摘要】
1.一种自动识别数据集中最佳聚类数的方法,其特征在于,包括:
步骤S1、自动设定最佳聚类数K的候选范围RL:[1,2,…,M],其中,
步骤S2、利用RL内的各聚类数实例化K-means,并获得具有N个样本数据的数据集和相应聚类数对应的质心;
步骤S3、基于获得的质心、数据集以及平均畸变函数计算RL内M个聚类数对应的平均畸变函数值;
步骤S4、利用0-10正则化公式对获得的M个平均畸变函数值进行转换;
步骤S5、将M个转换后的平均畸变函数值与RL内相应的聚类数封装成M个数据对;
步骤S6、利用值域为[0,p]的反余弦函数求M个数据对组成的M-2个从第一个数据对开始的任意连续三个数据对之间的夹角值;
步骤S7、找出M-2个夹角值中的最小夹角值;
步骤S8、获得最小夹角值在M-2个夹角中对应的序号值,其中,序号值从0开始,并对序号值加上2得到RL中的最佳聚类数K;
步骤S9、利用获得的最佳聚类数K将K-means实例化成kmeans,通过kmeans来训练数据集,获得数据的标签,并对数据集中的数据进行分类标记。


2.根据权利要求1所述的一种自动识别数据集中最佳聚类数的方法,其特征在于,步骤S2包括:
步骤S21、初始化k=1,生成一个空的平均畸变函数值列表MDL和一个空的0-10正则化平均畸变函数值列表RMDL;
步骤S22、如果k∈RL,执行步骤S23;如果则执行步骤S4;
步骤S23、用k来实例化sklearn.cluster.KMeans中的参数n_clusters...

【专利技术属性】
技术研发人员:石聪明黄永灿马靳鲜葛艳敏董晨沛宋旭柳翠寅刘应波梅盈
申请(专利权)人:安阳师范学院
类型:发明
国别省市:河南;41

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

1