python 機器學習K-means演算法實現
阿新 • • 發佈:2019-02-03
\編譯器:pycharm
1.匯入K-means相關包
這個包匯入有點坑,有許多依賴包需要匯入,推薦下載Anaconda後,在pycharm匯入Anaconda中的python,在下載sklearn包,就可以開心的敲程式碼了~!
2正式開始:
from sklearn.cluster import KMeans from sklearn.externals import joblib from sklearn import cluster import numpy as np import matplotlib.pyplot as plt data = np.random.rand(100,2) #生成長度為100,寬度為2的資料集,服從“0~1”均勻分佈的隨機樣本值 estimator=KMeans(n_clusters=3) print(data) res=estimator.fit_predict(data) #返回 labels_ # 預測類別標籤結果 lable_pred=estimator.labels_ # 各個類別的聚類中心值 centroids=estimator.cluster_centers_ # 聚類中心均值向量的總和 inertia=estimator.inertia_ print ('res',res) print ('lable_pred:',lable_pred) print ('centroids:',centroids) print ('inertia:',inertia) #對每一類的資料在座標系上展示並規定顏色 for i in range(len(data)): if int(lable_pred[i])==0: plt.scatter(data[i][0],data[i][1],color='red') if int(lable_pred[i])==1: plt.scatter(data[i][0],data[i][1],color='black') if int(lable_pred[i])==2: plt.scatter(data[i][0],data[i][1],color='blue') plt.show()
本案例是隨機生成的二維陣列