K均值演算法

2022-08-31 20:33:15 字數 1733 閱讀 5445

3. 用sklearn.cluster.kmeans,鳶尾花花瓣長度資料做聚類,並用散點圖顯示.

import matplotlib.pyplot as plt

from sklearn.datasets import load_iris

iris=load_iris()#引入

x=iris.data[:,2]#資料

x=x.reshape(-1,1)

#print("鳶尾花完整資料:\n",x)

from sklearn.cluster import kmeans

est = kmeans(n_clusters=3)#構建模型

est.fit(x)#訓練

kc = est.cluster_centers_#聚類中心

y_kmeans = est.predict(x) #**每個樣本的聚類索引

print("最佳聚類中心:\n",kc,"\n**結果:\n",y_kmeans)

#print(kc.shape,y_kmeans.shape)

#散點圖

plt.scatter(x[:,0],x[:,0],c=y_kmeans,s=50,cmap='rainbow')#任意取2列資料作圖

plt.show()

執行結果:

4. 鳶尾花完整資料做聚類並用散點圖顯示.

import matplotlib.pyplot as plt

from sklearn.datasets import load_iris

iris=load_iris()#引入

x=iris.data#資料

#print("鳶尾花完整資料:\n",x)

from sklearn.cluster import kmeans

est = kmeans(n_clusters=3)#構建模型

est.fit(x)#訓練

kc = est.cluster_centers_#聚類中心

y_kmeans = est.predict(x) #**每個樣本的聚類索引

print("最佳聚類中心:\n",kc,"\n**結果:\n",y_kmeans)

#print(kc.shape,y_kmeans.shape)

#散點圖

plt.scatter(x[:,0],x[:,1],c=y_kmeans,s=50,cmap='rainbow')#任意取2列資料作圖

plt.show()

執行結果:

5.想想k均值演算法中以用來做什麼?

分析各國足球隊水平

K 均值演算法

動態聚類方法是模式識別中一種普遍採用的方法,它具有以下3個要點 1 選定某種距離度量作為樣本間的相似性度量 2 確定某個評價聚類結果質量的準則函式 3 給定某個初始分類,然後用迭代演算法找出使準則函式取極值的最好的聚類結果 k means演算法 輸入 聚類個數k,以及包含 n個資料物件的資料庫。輸出...

K均值演算法

假設需要聚成k個類 演算法先會隨機從資料集中選取k個點,把他們當做k個聚類的中心點 依次計算資料集中的每乙個點與各個中心點的距離,離哪個中心點近,就劃分到那個中心點對應的聚類下 計算分到同一類簇下,所有點的均值,更新中心點,重複 直至達到迭代結束條件 import numpy as np impor...

k均值演算法

1 撲克牌手動演練k均值聚類過程 30張牌,3類 實驗總牌數為30,分三類進行三輪迭代。第一輪 抽取聚類中心為 3 4 7.聚類結果為 第二輪 經過求平均後,重新確定聚類中心為 2 4 10 第三輪 對上類再進行求平均,選定聚類中心為2 5 10 最終聚類中心穩定在2 5 10,以此為小中大劃分。2...