天天看點

大資料挖掘算法篇之K-Means執行個體

一、引言

  k-means算法是聚類算法中,應用最為廣泛的一種。本文基于歐幾裡得距離公式:d = sqrt((x1-x2)^+(y1-y2)^)計算二維向量間的距離,作為聚類劃分的依據,輸入資料為二維資料兩列資料,輸出結果為聚類中心和元素劃分結果。輸入資料格式如下:

二、歐幾裡得距離:

歐幾裡得距離定義: 歐幾裡得距離( euclidean distance)也稱歐氏距離,在n維空間内,最短的線的長度即為其歐氏距離。它是一個通常采用的距離定義,它是在m維空間中兩個點之間的真實距離。

在二維和三維空間中的歐式距離的就是兩點之間的距離,二維的公式是

d = sqrt((x1-x2)^+(y1-y2)^)

三維的公式是

d=sqrt((x1-x2)^+(y1-y2)^+(z1-z2)^)

推廣到n維空間,歐式距離的公式是

d=sqrt( ∑(xi1-xi2)^ ) 這裡i=1,2..n

xi1表示第一個點的第i維坐标,xi2表示第二個點的第i維坐标

n維歐氏空間是一個點集,它的每個點可以表示為(x(1),x(2),...x(n)),其中x(i)(i=1,2...n)是實數,稱為x的第i個坐标,兩個點x和y=(y(1),y(2)...y(n))之間的距離d(x,y)定義為上面的公式.

歐氏距離看作信号的相似程度。 距離越近就越相似,就越容易互相幹擾,誤碼率就越高。

三、代碼示例

四、主調程式

五、輸出結果

繼續閱讀