1.簡介

       K-means算法是最為經(jīng)典的基于劃分的聚類方法,是十大經(jīng)典數(shù)據(jù)挖掘算法之一。K-means算法的基本思想是:以空間中k個點為中心進行聚類,對最靠近他們的對象歸類。通過迭代的方法,逐次更新各聚類中心的值,直至得到最好的聚類結(jié)果。

2. 算法大致流程為:

      1)隨機選取k個點作為種子點(這k個點不一定屬于數(shù)據(jù)集)

      2)分別計算每個數(shù)據(jù)點到k個種子點的距離,離哪個種子點最近,就屬于哪類

      3)重新計算k個種子點的坐標(簡單常用的方法是求坐標值的平均值作為新的坐標值)

      4)重復2、3步,直到種子點坐標不變或者循環(huán)次數(shù)完成

3.完整計算過程

     1)設(shè)置實驗數(shù)據(jù)

        運行之后,效果如下圖所示:

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經(jīng)理培訓

       在圖中,ABCDE五個點是待分類點,k1、k2是兩個種子點。

    2)計算ABCDE五個點到k1、k2的距離,離哪個點近,就屬于哪個點,進行初步分類。

      結(jié)果如圖:

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經(jīng)理培訓

         A、B屬于k1,C、D、E屬于k2

      3)重新計算k1、k2的坐標。這里使用簡單的坐標的平均值,使用其他算法也可以(例如以下三個公式)

          a)Minkowski Distance公式——λ可以隨意取值,可以是負數(shù),也可以是正數(shù),或是無窮大。