使用Python实现Unsupervised K-Means
简介
在2020年的一篇名为Unsupervised K-Means Clustering Algorithm的论文中,作者对原有的K-Means算法作出了改进,并将其命名为Unsupervised K-Means。
原有的K-Means算法不仅需要事先确定最佳聚类数,其聚类结果受随机初始化的聚类中心的影响也很大。作者针对这两个问题对原有的K-Means算法作出了改进,Unsupervised K-Means可以自动识别最佳聚类数,并且聚类结果的准确性也很高。
效果展示
生成6个数据集,每个数据集都有5000个样本,并且每个样本都有2个特征,唯一不同的是每个数据集中的类簇数量不一样,这样做也是为了更好的做对比,最后的聚类结果如下图所示:
在6次聚类中,有3次正确识别出了类簇的数量,有1次识别出的类簇数量与实际数量很接近,有2次识别出的类簇数量与实际数量有较大偏差。
这也说明在默认参数下,Unsupervised K-Means并不是每次都能准确识别出最佳聚类数。
调参
虽然