1 import numpy as np 2 from sklearn.cluster import KMeans 3 from mpl_toolkits.mplot3d import Axes3D 4 import matplotlib.pyplot as plt 5 6 data = np.random.rand(100, 3) # 生成一个随机数据,样本大小为100, 特征数为3 7 8 estimator = KMeans(n_clusters=3) # 构造聚类器 9 10 y = estimator.fit_predict(data) # 聚类 11 12 label_pred = estimator.labels_ # 获取聚类标签 13 14 centroids = estimator.cluster_centers_ # 获取聚类中心 15 16 print(label_pred) 17 print(centroids) 18 19 fig = plt.figure() 20 ax = Axes3D(fig) 21 ax.scatter(data[:, 0], data[:, 1], data[:, 2], c=y, marker='*') 22 23 ax.scatter(centroids[:, 0], centroids[:, 1], centroids[:, 2], marker='>') 24 plt.axis([0, 1, 0, 1]) 25 plt.show()
显示效果如下: