聚類分析_matlab

Matlab最簡單的聚類方法:kmeans聚類,使用方法: kmeans(X,k)。

Matlab提供了兩種方法進行聚類分析:

1.一次聚類

這是利用 clusterdata函數對樣本數據進行一次聚類,其缺點爲可供用戶選擇的面較窄,不能更改距離的計算方法;

Clusterdata函數可以視爲 pdist、 linkage與 cluster的綜合,一般比較簡單。
【 clusterdata函數:
調用格式: T=clusterdata(X,cutoff)     
                      等價於Y=pdist(X,'euclid'); Z=linkage(Y,'single'); T=cluster(Z,cutoff)

2.分步聚類

(1)找到數據集合中變量兩兩之間的相似性和非相似性,用pdist函數計算變量之間的距離;

(2)用 linkage函數定義變量之間的連接;

(3)用 cophenetic函數評價聚類信息;

(4)用cluster函數創建聚類。

2.1 Matlab中相關函數介紹

2.1.1  pdist函數

調用格式:Y=pdist(X,'metric')

說明:用'metric'指定的方法計算 X 數據矩陣中對象之間的距離。

X:一個m×n的矩陣,它是由m個對象組成的數據集,每個對象的大小爲n。

metric取值如下:

'euclidean':歐氏距離(默認);'seuclidean':標準化歐氏距離;

'mahalanobis':馬氏距離;'cityblock':布洛克距離;

'minkowski':明可夫斯基距離;'cosine':餘弦距離;

'correlation':相關係數;'hamming':漢明距離;

'jaccard':傑卡德距離;'chebychev':Chebychev距離。

2.1.2  squareform函數

     調用格式:Z=squareform(Y,..)

     說明:  強制將距離矩陣從上三角形式轉化爲方陣形式,或從方陣形式轉化爲上三角形式。

2.1.3  linkage函數

調用格式:Z=linkage(Y,’method’)

說    明:用‘method’參數指定的算法計算系統聚類樹。

   Y:pdist函數返回的距離向量;

   method:可取值如下:

 ‘single’:最短距離法(默認);  ‘complete’:最長距離法;

‘average’:未加權平均距離法;  ‘weighted’: 加權平均法;

‘centroid’: 質心距離法;      ‘median’:加權質心距離法;

‘ward’:內平方距離法(最小方差算法)

返回:Z爲一個包含聚類樹信息的(m-1)×3的矩陣。

2.1.4  dendrogram函數

調用格式:[H,T,…]=dendrogram(Z,p,…)

說明:生成只有頂部p個節點的冰柱圖(譜系圖)。

2.1.5  cophenet函數

調用格式:c=cophenetic(Z,Y)

說明:利用pdist函數生成的Y和linkage函數生成的Z計算cophenet相關係數。

2.1.6  cluster 函數

調用格式:T=cluster(Z,…)

說明:根據linkage函數的輸出Z 創建分類。

2.1.7  clusterdata函數

調用格式:T=clusterdata(X,…)

說明:根據數據創建分類。

T=clusterdata(X,cutoff)與下面的一組命令等價:

Y=pdist(X,’euclid’);

Z=linkage(Y,’single’);

T=cluster(Z,cutoff);

3. Matlab程序

3.1 一次聚類

X=[11978 12.5 93.5 31908;…;57500 67.6 238.0 15900];

T=clusterdata(X,0.9)

3.2  分步聚類

Step1  尋找變量之間的相似性

用pdist函數計算相似矩陣,有多種方法可以計算距離,進行計算之前最好先將數據用zscore函數進行標準化。

X=zscore(data);  %標準化數據

Y=pdist(X);  %計算距離

Step2   定義變量之間的連接

Z=linkage(Y);

Step3  評價聚類信息

   C=cophenet(Z,Y);       //0.6190

Step4 創建聚類,並作出譜系圖

     T=cluster(Z,3);

     H=dendrogram(Z);



參考:http://blog.sina.com.cn/s/blog_5a13cf680100aj18.html


發佈了32 篇原創文章 · 獲贊 6 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章