K-Means算法及代碼實現


1.K-Means算法

  K-Means算法,也被稱為K-平均或K-均值算法,是一種廣泛使用的聚類算法。K-Means算法是聚焦於相似的無監督的算法,以距離作為數據對象間相似性度量的標准,即數據對象間的距離越小,則它們的相似性越高,則它們越有可能在同一個類簇。之所以被稱為K-Means是因為它可以發現k個不同的簇,且每個簇的中心采用簇中所含值的均值計算而成。

2.聚類的概念

  聚類,則是給定的樣本沒有事先確定類別,根據自己需要,確定類別數量,再把樣本歸到不同的類別里面。也就是說,同樣是垃圾分類的例子,你給一堆垃圾,我可以根據可回收、不可回收分為聚類為兩堆;也可以根據可回收、不可回收、廚余垃圾聚類為三堆。而其中聚類為同一堆的條件,我們可以理解為垃圾間的相似程度。

3.k-means算法思想

1.從數據集中隨機選取k個數據對象作為k個簇的初始聚類中心點,且每個數據對象對應於一個簇;
2.將剩余的數據對象根據其與各個簇中心點的距離,分別指派到離其距離最近的簇中;
3.更新每個簇的聚類中心(即重新計算各個簇內所有對象的平均值,重新分配各個數據對象);
4.直到准則函數收斂或者聚類中心不再變化,否則轉到step3。 

4. 代碼實現

 

 

 

運行結果:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM