📜  机器学习之K-means聚类算法(1)

📅  最后修改于: 2023-12-03 15:40:19.947000             🧑  作者: Mango

机器学习之K-means聚类算法

介绍

K-means聚类算法是一种常用的无监督学习算法,其通过迭代的方式将样本点划分为K个簇,从而实现聚类的目的。该算法可用于数据挖掘、图像处理等领域中,对数据进行分类、模式识别等操作。

实现

K-means聚类算法主要分为以下几个步骤:

步骤一:初始化
  • 随机选择K个初始聚类中心
步骤二:分类
  • 对于每个样本点,计算其到每个聚类中心的距离,将其归为距离最近的簇
步骤三:重新计算质心
  • 对于每个簇,重新计算其质心(聚类中心)坐标
步骤四:迭代分类和重新计算质心
  • 重复步骤二和三,直到质心坐标的变化小于一个给定的阈值或者达到了最大迭代次数
代码实现

以下为K-means聚类算法的Python代码实现:

from sklearn.cluster import KMeans
import numpy as np

X = np.array([[1, 2], [1, 4], [1, 0],
              [4, 2], [4, 4], [4, 0]])
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
print(kmeans.labels_)
print(kmeans.predict([[0, 0], [4, 4]]))
print(kmeans.cluster_centers_)

以上代码将样本点X按照K=2进行聚类,并输出了聚类后每个样本点所属的簇和新样本点[0,0]和[4,4]所属的簇,以及每个簇的聚类中心。

总结

K-means聚类算法是一种常用的无监督学习算法,其对数据进行分类、模式识别等操作。本文介绍了K-means聚类算法的具体步骤以及Python代码实现。通过该算法可对数据进行快速有效的聚类操作。