数据聚类是无监督学习的主流应用。最经典并易用的聚类模型,是K-means算法。该算法要求我们预设聚类的个数,然后不断更新聚类中心;经过几轮迭代后,让所有数据点到其所属聚类中心距离的平方和趋于稳定。
K-means算法
模型介绍:
算法执行过程:
1.随机设K个特征空间内的点作为初始的聚类中心;
2.对于根据每个数据的特征向量,从K个聚类中心中寻找距离最近的一个,并把该数据标记为从属于这个聚类中心
3.在所有的数据都被标记过聚类中心后,根据这些数据新分配的类簇,重新对K个聚类中心进行计算
4.如果一轮下来,所有数据点从属对聚类中心与上一次的分配的类簇没有变化,停止迭代,否则回到步骤2继续执行
前面在支持向量机(分类)采用了scikit-learn内部集成的手写数字图像数据,是原始数据集合的一部分。而本次,我们使用该数据的完整版本:https://archive.ics.uci.edu/ml/machine-learning-databases/optdigits/
Python源码:
#co