1. 程式人生 > >python 機器學習K-means演算法實現

python 機器學習K-means演算法實現

\編譯器: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()

本案例是隨機生成的二維陣列