Matlab提供系列函數(shù)用于聚類分析,歸納起來具體方法有如下:
方法一:直接聚類,利用clusterdata函數(shù)對樣本數(shù)據(jù)進行一次聚類,其缺點為可供用戶選擇的面較窄,不能更改距離的計算方法,該方法的使用者無需了解聚類的原理和過程,但是聚類效果受限制。
方法二:層次聚類,該方法較為靈活,需要進行細節(jié)了解聚類原理,具體需要進行如下過程處理:(1)找到數(shù)據(jù)集合中變量兩兩之間的相似性和非相似性,用pdist函數(shù)計算變量之間的距離;(2)用 linkage函數(shù)定義變量之間的連接;(3)用 cophenetic函數(shù)評價聚類信息;(4)用cluster函數(shù)創(chuàng)建聚類。
方法三:劃分聚類,包括K均值聚類和K中心聚類,同樣需要系列步驟完成該過程,要求使用者對聚類原理和過程有較清晰的認(rèn)識。
接下來,介紹Matlab中的相關(guān)函數(shù)和相關(guān)聚類方法。
1.Matlab中相關(guān)函數(shù)介紹
1.1 pdist函數(shù)
調(diào)用格式:Y=pdist(X,’metric’)
說明:用 ‘metric’指定的方法計算 X 數(shù)據(jù)矩陣中對象之間的距離?!?/p>
X:一個m×n的矩陣,它是由m個對象組成的數(shù)據(jù)集,每個對象的大小為n。
metric’取值如下:
‘euclidean’:歐氏距離(默認(rèn));‘seuclidean’:標(biāo)準(zhǔn)化歐氏距離;
‘mahalanobis’:馬氏距離;‘cityblock’:布洛克距離;
‘minkowski’:明可夫斯基距離;‘cosine’:
‘correlation’: ‘hamming’:
‘jaccard’: ‘chebychev’:Chebychev距離。
1.2 squareform函數(shù)
調(diào)用格式:Z=squareform(Y,..)
說明: 強制將距離矩陣從上三角形式轉(zhuǎn)化為方陣形式,或從方陣形式轉(zhuǎn)化為上三角形式。
1.3 linkage函數(shù)
調(diào)用格式:Z=linkage(Y,’method’)
說 明:用‘method’參數(shù)指定的算法計算系統(tǒng)聚類樹。
Y:pdist函數(shù)返回的距離向量;
method:可取值如下:
‘single’:最短距離法(默認(rèn)); ‘complete’:最長距離法;
‘a(chǎn)verage’:未加權(quán)平均距離法; ‘weighted’: 加權(quán)平均法;
‘centroid’:質(zhì)心距離法; ‘median’:加權(quán)質(zhì)心距離法;
‘ward’:內(nèi)平方距離法(最小方差算法)
返回:Z為一個包含聚類樹信息的(m-1)×3的矩陣。
1.4 dendrogram函數(shù)
調(diào)用格式:[H,T,…]=dendrogram(Z,p,…)
說明:生成只有頂部p個節(jié)點的冰柱圖(譜系圖)。
1.5 cophenet函數(shù)
調(diào)用格式:c=cophenetic(Z,Y)
說明:利用pdist函數(shù)生成的Y和linkage函數(shù)生成的Z計算cophenet相關(guān)系數(shù)。
1.6 cluster 函數(shù)
調(diào)用格式:T=cluster(Z,…)
說明:根據(jù)linkage函數(shù)的輸出Z 創(chuàng)建分類。
1.7 clusterdata函數(shù)
調(diào)用格式:T=clusterdata(X,…)
說明:根據(jù)數(shù)據(jù)創(chuàng)建分類。
T=clusterdata(X,cutoff)與下面的一組命令等價:
Y=pdist(X,’euclid’);
Z=linkage(Y,’single’);
T=cluster(Z,cutoff);
2. Matlab聚類程序的設(shè)計
2.1方法一:一次聚類法
X=[11978 12.5 93.5 31908;…;57500 67.6 238.0 15900];
T=clusterdata(X,0.9)
2.2 方法二和方法三設(shè)計流程:分步聚類
Step1 尋找變量之間的相似性
用pdist函數(shù)計算相似矩陣,有多種方法可以計算距離,進行計算之前最好先將數(shù)據(jù)用zscore函數(shù)進行標(biāo)準(zhǔn)化。
X2=zscore(X); %標(biāo)準(zhǔn)化數(shù)據(jù)
Y2=pdist(X2); %計算距離
Step2 定義變量之間的連接
Z2=linkage(Y2);
Step3 評價聚類信息
C2=cophenet(Z2,Y2); //0.94698
Step4 創(chuàng)建聚類,并作出譜系圖
評論
查看更多