**
使用方法:
idx=kmeans(x,k)
[idx,c]=kmeans(x,k)
[idx,c,sumd]=kmeans(x,k)
[idx,c,sumd,d]=kmeans(x,k)
[…]=kmeans(…,』param1』,val1,』param2』,val2,…)
各輸入輸出引數介紹:
x :n*p的資料矩陣
k: 表示將x劃分為幾類,為整數
idx :n*1的向量,儲存的是每個點的聚類標號
c: k*p的矩陣,儲存的是k個聚類質心位置
sumd :1*k的和向量,儲存的是類間所有點與該類質心點距離之和
d :n*k的矩陣,儲存的是每個點與所有質心的距離
[…]=kmeans(…,'param1',val1,'param2',val2,…)
這其中的引數param1、param2等,主要可以設定為如下:
1.『distance』(距離測度)
『sqeuclidean』 歐式距離(預設時,採用此距離方式)
『cityblock』 絕度誤差和,又稱:l1
『cosine』 針對向量
『correlation』 針對有時序關係的值
『hamming』 只針對二進位制資料
2.『start』(初始質心位置選擇方法)
『sample』 從x中隨機選取k個質心點
『uniform』 根據x的分布範圍均勻的隨機生成k個質心
『cluster』 初始聚類階段隨機選擇10%的x的子樣本(此方法初始使用』sample』方法)
matrix 提供一k*p的矩陣,作為初始質心位置集合
3. 『replicates』(聚類重複次數) 整數
Matlab實現K means聚類函式
function label my kmeans x,k m,n size x label zeros m,1 初始化label向量 u index randperm m,k 生成k個 1,m 範圍的隨機的不重複的正整數 u x u index,初始化均值向量 while true 迭代操作 dis...
matlab實現kmeans演算法
kmeans是一種聚類演算法 無監督學習 演算法分為兩步 1.隨機選取k個聚類中心。2.計算每個樣本點離哪個聚類中心最近 距離計算 就將該樣本分為這個類。3.重新計算這k個類的聚類中心。一種簡單的計算方法為 計算每個類的平均值即為新的聚類中心。重複執行步驟2,直到聚類中心的變化小於給定閾值,或者達到...
matlab中kmeans簡單使用
idx,c,sumd,d kmeans data,3,dist sqeuclidean rep 4 等號右邊 kmeans k 均值聚類 data是你自己的輸入資料 3 是你要聚成3類 rep 4 聚類重複次數4次。因為要反覆算直到選出最好的結果,至多反覆算4次 等號左邊 idx 是你聚類的標號 c...