K-Means是一种流行的无监督机器学习技术,它根据数据点之间的相似性或接近程度将数据点分组。本文将解答如何进行聚类、使用哪些方法在K-Means中进行聚类等问题。在开始之前,让先看一个聚类示例,是否容易理解?根据数据点的相似性或接近程度将数据点分成了3个聚类。
让通过日常生活中的例子来简单理解K-Means聚类。如今,许多人喜欢在亚马逊Prime或Netflix上观看网络剧或电影。有没有注意到,当打开Netflix时,电影会根据它们的类型(如犯罪、悬疑等)进行分组。Netflix的类型分组是理解聚类的一个简单例子。让更深入地了解K-Means聚类算法。
定义:K-Means根据数据点之间的相似性或接近程度对数据点进行分组。简单来说,算法需要找到值相似的数据点,这些点将属于同一个聚类。
那么,算法是如何找到两个点之间的值来聚类的呢?算法通过使用“距离度量”方法来找到值。这里距离度量是“欧几里得距离”。彼此接近或相似的观测值会有较低的欧几里得距离,然后被聚在一起。
还有一个需要知道的公式是“质心”。K-Means算法使用质心的概念来创建“k个聚类”。现在已经准备好了解K-Means聚类算法的步骤了。
步骤1:选择k值,例如k=2。
步骤2:随机初始化质心。
步骤3:计算每个数据点到质心的欧几里得距离,并形成接近质心的聚类。
步骤4:找到每个聚类的质心并更新质心。
步骤5:重复步骤3。
每次聚类形成后,质心都会更新,更新后的质心是落在聚类中的所有点的中心。这个过程会一直持续,直到质心不再变化,即解决方案收敛。
可以通过以下链接尝试K-Means算法:
不会在这个概念上给太多压力,所以不用担心。K-Means++非常容易理解。那么,什么是K-Means++?假设最初想要选择两个质心(k=2),可以选择一个质心随机,或者可以选择一个数据点随机。下一个任务是选择另一个质心,有什么想法吗?
从数据点中选择下一个质心,这个质心与现有质心的距离较远,或者与现有聚类的距离较远,有很高的几率被选中。
1. 肘部法则
步骤1:为不同的k值计算聚类算法。
k = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
步骤2:对于每个k,计算聚类内平方和(WCSS)。
步骤3:根据聚类数量绘制WCSS曲线。
步骤4:曲线中的弯曲位置通常被认为是聚类数量的近似指标。
A. 提前选择聚类数量(K)。
B. 数据标准化(缩放)。
C. 分类数据(可以通过K-Mode解决)。
D. 初始质心和异常值的影响。
在对给定数据应用聚类算法之前,检查数据是否有有意义的聚类非常重要。评估数据以检查数据是否适合聚类的过程被称为“聚类倾向性”。因此,不应该盲目地应用聚类方法,应该检查聚类倾向性。怎么做呢?