K-Means是十种经典数据挖掘算法之一。 K-Means和KNN(K邻居)似乎都以K开头,但是它们是不同种类的算法。 kNN是监督学习中的分类算法,而K-Means是监督学习中的聚类算法;两者相似之处在于它们都使用邻居信息来标记类别。提到术语“聚类”,人们不禁会想到:“事物聚集在一起,人们被分成几类”。聚类是数据挖掘中非常重要的学习类型,是指将相似的未标记样本数据归为同一类别。 K-均值算法是一种典型的基于距离的聚类算法。由劳埃德(Lloyod)在1982年提出。它是一种简单有效的统计聚类算法。通常,距离被用作相似度的评估指标,即,两个对象之间的距离越近,相似度就越大。该算法认为簇是由彼此接近的对象组成的,因此以获得紧凑且独立的簇为最终目标。 K均值概念:K均值算法是一种硬聚类算法,它是典型的基于原型的目标函数聚类方法的代表。作为最佳目标函数,从数据点到原型有一定距离,该函数用于查找极值。获取迭代操作的调整规则的方法。 K-means算法使用欧几里得距离作为相似性度量,即找到与某个初始聚类中心向量V对应的最优分类,从而使评估指标J最小。该算法使用误差平方和标准函数作为聚类标准函数。 K-Means的核心思想是:用户将k个初始质心(初始质心)指定为聚类,并重复迭代直到算法收敛。即,以空间中的k个点为中心执行聚类,并且对最接近它们的对象进行分类。通过迭代方法,依次更新每个聚类中心的值,直到获得最佳聚类结果。 k个初始聚类中心点的选择对聚类结果有更大的影响。 K-means算法的描述:假定样本组分为C三类,该算法描述如下:1)选择适当C三类的初始中心; 2)在第k次迭代中,对于任何样本,将其找到c到每个中心之间的距离,样本被分类为距离最短的中心类别; 3)使用平均值方法更新类的中心值; 4)对于所有c集群中心,如果使用2)和3),则更新迭代方法后,该值将保持不变,迭代将结束,否则迭代将继续。详细信息如下:输入:k,data [n]; 1)选择k个初始中心点,例如,c [0] = data [0],& hellip; c [k-1] = data [k-1]; 2)对于数据[0]& hellip;。假定与c [i]的差最小,则将data [n]分别与c [0]& hellip; c [k-1]相比较。 3)对于标记为i的所有点,重新计算c [i] = {标记为i的所有数据[j]的和} /标记为i的数据数; 4)重复2)和3),直到c [i]值的所有变化都小于给定的阈值。该算法的最大优点是它的简单性和速度。该算法的关键在于初始中心的选择和距离公式。 K-Means工作流程:1)从n个数据对象中任意选择k个对象作为初始聚类中心; 2)根据每个聚类对象的平均值(中心对象)计算每个对象与这些中心对象之间的距离;并根据最小距离重新划分对应的对象; 3)重新计算每个(变化)聚类的平均值(中心对象); 4)循环2)到3),直到每个簇不再变化为止,即直到标准度量函数收敛为止。注意:通常,均方误差用作标准测量函数。 K-Means算法接受输入量k;然后将n个数据对象划分为k个聚类,以使获得的聚类满足:同一聚类中对象的相似度更高;与不同簇中对象的相似度较小。即,群集本身尽可能紧凑,并且群集尽可能分离。通过使用每个聚类中的对象的平均值来获得聚类相似度,以获得“中心对象”。 (引力中心)。