import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs

# 生成示例数据
X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)

# 创建K-Means模型
kmeans = KMeans(n_clusters=4, random_state=0)

# 拟合数据
kmeans.fit(X)

# 获取聚类标签
labels = kmeans.labels_

# 获取聚类中心
centroids = kmeans.cluster_centers_

# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=labels, s=50, cmap='viridis')
plt.scatter(centroids[:, 0], centroids[:, 1], c='red', s=200, alpha=0.5)
plt.title('K-Means Clustering')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()

下面为你提供一个使用Python实现K-Means聚类分析的示例代码。K-Means是一种广泛使用的无监督学习算法,用于将数据点划分为不同的簇。

代码解释

  1. 数据生成:借助make_blobs函数生成示例数据,该数据包含300个样本,分为4个簇。
  2. 模型创建:构建一个KMeans模型,指定簇的数量为4。
  3. 模型拟合:运用fit方法对数据进行拟合。
  4. 获取聚类标签和中心:利用labels_属性获取每个数据点的聚类标签,使用cluster_centers_属性获取每个簇的中心。
  5. 可视化结果:采用matplotlib库对聚类结果进行可视化,数据点依据聚类标签着色,聚类中心以红色大圆点表示。
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐