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

2.聚類的概念
聚類,則是給定的樣本沒有事先確定類別,根據自己需要,確定類別數量,再把樣本歸到不同的類別里面。也就是說,同樣是垃圾分類的例子,你給一堆垃圾,我可以根據可回收、不可回收分為聚類為兩堆;也可以根據可回收、不可回收、廚余垃圾聚類為三堆。而其中聚類為同一堆的條件,我們可以理解為垃圾間的相似程度。
3.k-means算法思想
1.從數據集中隨機選取k個數據對象作為k個簇的初始聚類中心點,且每個數據對象對應於一個簇;
2.將剩余的數據對象根據其與各個簇中心點的距離,分別指派到離其距離最近的簇中;
3.更新每個簇的聚類中心(即重新計算各個簇內所有對象的平均值,重新分配各個數據對象);
4.直到准則函數收斂或者聚類中心不再變化,否則轉到step3。
4. 代碼實現






運行結果:



