一、聚类分析的基本知识
聚类分析也称聚类,它与分类是不同的,分类的目标变量是已知的,每个样本都存在类标签,而聚类的目标变量是事先不知道的,聚类的样本类别没有被预先定义出来。聚类是根据聚类算法或样本对象划分成两个以上的子集,每个子集称为一个簇,簇中对象因特征属性值接近而彼此相似,不同簇对象之间则彼此存在差异,簇内的对象越相似,聚类的效果就越好。
聚类分析是将相似的对象归为同一簇,将不相似的对象归为不同簇,这就需要一种计算方法来度量相似程度,常用的相似度计算方法有欧式距离、余弦距离、曼哈顿距离以及闵可夫斯基距离。
二、K-Means聚类算法
K-means算法中的K表示的是聚类为K个簇,means代表取每一个聚类中数据值的均值作为该簇的中心,也可称为质心,用质心对该簇进行描述。
K-means算法在P个样本中随机选取K个样本作为初始聚类中心点,而对于剩余的其他样本,根据与所选的各聚类中心点的相似度或者距离,将它们分别分配给相似度最高或者距离最近的类,然后计算每一类中样本数据的平均值,更新聚类中心点(质点),并不断重复这个过程,直到各个质心不再变化。
K-means算法中的关键步骤是计算样本与所有聚类中心的距离,生成新的聚类中心。
三、K-means聚类中K值的选择
K-means算法通常使用肘部法则来选择K值。肘部法则考察聚类后全体样本的误差平方和SSE,将SSE随K值的变化由快速下降转变为缓慢变化的拐点处的K值,作为最佳聚类簇数。
肘部法则选择K值的依据:随着聚类数K的增大,样本划分会更加精细,每个簇的聚合程度会逐渐提高,那么误差平方和SSE自然会逐渐变小。且当K小于真实聚类数时&