怎么用阿帕奇做網(wǎng)站谷歌廣告聯(lián)盟
1. 原理
1.層次聚類:通過計算兩類數(shù)據(jù)點間的相似性,對所有數(shù)據(jù)點中最為相似的兩個數(shù)據(jù)點進行組合,并反復(fù)迭代這一過程并生成聚類樹
2.k-means聚類:在數(shù)據(jù)集中根據(jù)一定策略選擇K個點作為每個簇的初始中心,然后將數(shù)據(jù)劃分到距離這K個點最近的簇中,重新計算每個簇的中心點,然后在重新進行劃分,直到每次劃分的結(jié)果保持不變。
2. 過程
1.層次聚類:
樣本點:x1= [0,0]T, x2=[0,1]T,? x3=[2,0]T , x4= [3,3]T , x5= [4,4]T
將樣本點存儲在c1.txt文本文件中如下:
圖1? c1文件中樣本數(shù)據(jù)
在matlab中載入文件
分別將原始數(shù)據(jù)中的兩列提取出來作為x坐標與y坐標用于繪制樣本的分布圖像,其實現(xiàn)如下:
圖2
接下來通過linkage(c1,'single','euclidean')語句調(diào)用linkage函數(shù),將樣本點以最短距離作為類間距離,距離計算采用歐幾里得距離,得到一個矩陣,其前2列為兩個類的標號,第三列為類間的最短距離,然后通過dendrogram函數(shù)可以繪制出層次聚類樹狀圖
圖3
以上操作后結(jié)果如下:
圖4 樣本分布及聚類樹狀圖
接下來為了進行分類,可以通過分割的方法得到不同的簇,這里采用群數(shù)目分割方式進行分割,調(diào)用cluster函數(shù),設(shè)置簇的數(shù)目最大為2,最后調(diào)整標號繪制分類后的圖像
圖5
結(jié)果如下:
圖6 分割后得到的結(jié)果
2.k-means聚類:
樣本點:x1= [0,0]T,? x2=[1,0]T,? x3=[1,1]Tx4= [4,4]T,? x5=[5,4]T,? x6=[5,5]T
同樣將樣本點數(shù)據(jù)存儲到kn1.txt文件中,如下圖:
圖7? kn1文件中樣本數(shù)據(jù)
接下來開始進行聚類,實驗設(shè)置簇的個數(shù)為2,通過kmeans函數(shù)對樣本進行聚類,并且重復(fù)5次聚類,該函數(shù)可以返回簇的索引以及簇的中心點位置。
圖8
然后調(diào)整標號繪制分類圖像,結(jié)果如下:
圖9? kmeans 聚類結(jié)果
3. 結(jié)果與分析
1.層次聚類
通過樹狀圖可以看出程序的聚類順序為x1x2,x4x5,x1x2x3,x1x2x3x4x5,每兩個簇之間的距離如下:
圖10 聚類過程中簇間距離
其中前兩列1至5代表x1到x5初始5個簇,6代表x1x2形成的簇,7代表x4x5形成的簇,8代表x1x2x3形成的簇
2.k-means聚類
圖11 聚類后兩個簇的中心點坐標
圖12 每個點到每個簇心的距離
圖13 簇內(nèi)各點到中心距離之和
? ? ??