1.簡(jiǎn)介

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

2. 算法大致流程為:

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

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

      3)重新計(jì)算k個(gè)種子點(diǎn)的坐標(biāo)(簡(jiǎn)單常用的方法是求坐標(biāo)值的平均值作為新的坐標(biāo)值)

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

3.完整計(jì)算過(guò)程

     1)設(shè)置實(shí)驗(yàn)數(shù)據(jù)

        運(yùn)行之后,效果如下圖所示:

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

       在圖中,ABCDE五個(gè)點(diǎn)是待分類點(diǎn),k1、k2是兩個(gè)種子點(diǎn)。

    2)計(jì)算ABCDE五個(gè)點(diǎn)到k1、k2的距離,離哪個(gè)點(diǎn)近,就屬于哪個(gè)點(diǎn),進(jìn)行初步分類。

      結(jié)果如圖:

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

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

      3)重新計(jì)算k1、k2的坐標(biāo)。這里使用簡(jiǎn)單的坐標(biāo)的平均值,使用其他算法也可以(例如以下三個(gè)公式)

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