目录
K均值聚类算法是机器学习和数据分析中常用的无监督学习方法之一,主要用于数据的分类。它的目标是将数据划分为几个独特的、互不重叠的子集或“集群”,以使得同一集群内的数据点彼此相似,而不同集群的数据点则尽可能不同。
- import numpy as np
- from sklearn.cluster import KMeans
- import matplotlib.pyplot as plt
-
- # 随机生成数据
- np.random.seed(0)
- points = np.vstack([
- np.random.normal(0, 0.5, size=(100, 2)),
- np.random.normal(1, 0.25, size=(100, 2)),
- np.random.normal(2, 0.6, size=(100, 2))
- ])
-
- # 使用KMeans进行聚类
- kmeans = KMeans(n_clusters=3)
- kmeans.fit(points)
- labels = kmeans.predict(points)
- centroids = kmeans.cluster_centers_
-
- # 可视化结果
- plt.scatter(points[:, 0], points[:, 1], c=labels)
- plt.scatter(centroids[:, 0], centroids[:, 1], color='red', marker='X')
- plt.show()
结果图:
