什么是k均值聚类?

用k-means算法进行数据挖掘

k-均值聚类算法是一种数据挖掘和机器学习工具,用于将观测聚类为相关观测组,而无需事先了解这些关系。 通过采样,算法试图显示数据属于哪个类别或簇,其中簇的数量由值k定义

k-均值算法是最简单的聚类技术之一,它通常用于医学成像,生物识别和相关领域。 k-均值聚类的优势在于它能够告诉你的数据(使用它的无监督形式),而不必在开始时指示算法关于数据(使用监督形式的算法)。

它有时被称为Lloyd算法,特别是在计算机科学界,因为标准算法是由Stuart Lloyd于1957年首先提出的。术语“k-means”是由James McQueen于1967年创造的。

k-means算法的功能如何

k-均值算法是一种演化算法,从其操作方法中得名。 该算法将观测聚类为k个组,其中k作为输入参数提供。 然后根据观测值与簇的平均值的接近度将每个观测值分配给簇。 然后重新计算群集的意思,并重新开始该过程。 算法的工作原理如下:

  1. 该算法任意选择k个点作为初始聚类中心(手段)。
  2. 根据每个点与每个聚类中心之间的欧几里德距离,将数据集中的每个点分配给封闭聚类。
  3. 每个聚类中心重新计算为该聚类中点的平均值。
  4. 重复步骤2和步骤3,直到聚类收敛。 根据实现的不同,收敛的定义可能会有所不同,但通常意味着在重复步骤2和3时没有观察结果会改变聚类,或者这些改变不会对聚类的定义产生重大影响。

选择群集数量

k- means聚类的一个主要缺点是必须指定聚类数作为算法的输入。 按照设计,该算法无法确定合适的聚类数量,并取决于用户提前识别此数量。

例如,如果你有一群根据二进制性别认同为男性或女性的人群,那么使用输入k = 3调用k- means算法将会迫使人们在只有两个或三个k = 2的输入将提供更自然的适配。

同样,如果一组个体很容易根据归属状态进行聚类,并将输入k = 20称为k-均值算法则结果可能过于普遍而无法有效。

出于这个原因,尝试使用不同的k值来确定最适合您数据的值通常是一个好主意。 您也可能希望在探索机器学习知识时探索使用其他数据挖掘算法