【sklearn入门】通过sklearn实现k-means并可视化聚类结果

 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()

显示效果如下:

猜你喜欢

转载自www.cnblogs.com/pedada/p/10713988.html