K means聚類 的 Python 實現

2022-07-04 14:36:10 字數 1277 閱讀 6024

k-means聚類 的 python 實現

k-means聚類是乙個聚類演算法用來將 n 個點分成 k 個集群。

演算法有3步:

1.初始化– k 個初始質心會被隨機生成

2.分配 – k 集群通過關聯到最近的初始質心生成

3.更新 –重新計算k個集群對應的質心

分配和更新會一直重複執行直到質心不再發生變化。

最後的結果是點和質心之間的均方差達到最小。

以 k=3 為例演示這個過程:

初始化

分配:

更新:

重新分配:

可以看到乙個紅色的點,變成了綠色的;乙個藍色的點變成了紅色的。

我們更加接近最終目標了。

現在重複這個過程,直到每乙個集群都沒有變化為止。

繼續這個過程:

現在得到3個清晰地集群和3個質點在這三個集群的中間。

結論:1.k-means 可以嘗試不同的初始化質點來獲取更好的 label.

2.如果資料集有一定的對稱性,一些資料可能會被錯誤的標記。

3.k-means 依賴歐氏距離,所以對尺度非常敏感,所以如果存在縮放問題,要對資料進行歸一化處理。

python 實現kmeans聚類

程式設計中在做數值相等判斷的時候,直接使用 判斷並不可靠。實際上經過運算後的兩個值 浮點型 並不可能完全一致,可能會因為小數點後的些許差異導致判斷為false。比如 1 print1e 5 1e 6 這肯定是false,但是實際這兩個值可以看作近似相等。在kmeans中判斷是否結束迴圈,就是判斷重新...

Kmeans聚類演算法 python實現

kmeans演算法 k均值演算法需要輸入待聚類的資料和欲聚類的簇數k,主要過程如下 1.隨機生成k個初始點作為質心 2.將資料集中的資料按照距離質心的遠近分到各個簇中 3.將各個簇中的資料求平均值,作為新的質心,重複上一步,直到所有的簇不再改變 import pandas as pd import ...

Python資料建模 K means聚類

k means聚類的python實現方法 介紹 最常用的機器學習聚類演算法,且為典型的基於距離的聚類演算法 k均值 基於原型的 劃分的距離技術,它試圖發現使用者指定個數 k 的簇,以歐式距離作為相似度測度 from sklearn.datasets.samples generator import ...