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()
顯示效果如下: