K-Means聚类是一种无监督学习算法,它的目的是将数据集划分成若干个簇。它通过不断迭代来实现这个目的,每次迭代时,它会根据每个数据点与所属簇中心的距离来更新簇分配和簇中心。
K-Means聚类的代码实现如下:
初始化聚类中心(可以使用随机选取或者指定初始值)
对于每一个数据点,计算它与每个聚类中心的距离,并将其分配到距离最近的聚类中心所在的簇
对于每一个簇,计算簇内所有数据点的均值,并更新该簇的聚类中心
重复步骤2和3,直到聚类中心不再发生变化或者达到最大迭代次数
下面是一个用Python实现的K-Means聚类的示例代码:
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模型,设置聚类中心数量为2
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
# 获取簇分配结果
predictions = kmeans.predict(X)
# 打印簇分配结果
print(predictions)
在这个例