matlab调用kmeans_matlab做聚类分析(k-means)
基本函數使用方法:Idx=Kmeans(X,K)
對矩陣X進行分類且為K類;假設X為m*n矩陣,n為特征數,m為樣本數目,則輸出參數Idx為m個整數,且屬于1到K之間的數。[Idx,C]=Kmeans(X,K)
對矩陣X進行分類且為K類;假設X為m*n矩陣,n為特征數,m為樣本數目,則輸出參數Idx為m個整數,且屬于1到K之間的數。 并且返回聚類中心C,C為k*n的矩陣。[Idc,C,sumD]=Kmeans(X,K)
對矩陣X進行分類且為K類;假設X為m*n矩陣,n為特征數,m為樣本數目,則輸出參數Idx為m個整數,且屬于1到K之間的數;sumD為1*K的和向量,存儲的是類內所有點與該類質心點距離之和;[Idx,C,sumD,D]=Kmeans(X,K)
對矩陣X進行分類且為K類;假設X為m*n矩陣,n為特征數,m為樣本數目,則輸出參數Idx為m個整數,且屬于1到K之間的數;sumD為1*K的和向量,存儲的是類內所有點與該類質心點距離之和;D為m*K的矩陣,存儲的是每個點與所有質心的距離[┈]=Kmeans(┈,’Param1’,’Val1’,’Param2’,’Val2’,┈) 有很多可選參數:
其中參數Param1、Param2等,主要可以設置為如下:
2、’Distance’---距離測度:
‘sqEuclidean’---歐氏距離;
‘cityblock’---絕對誤差和;
‘cosine’---余弦距離;
‘correlation’---針對有時序關系的值;
‘Hamming’---只針對二進制數據;
3、’Start’---初始質心位置選擇方法(矩陣為k*n)
‘sample’---從X中隨機選取K個質心點;
‘uniform’---根據X的分布范圍均勻的隨機生成K個質心
‘cluster’---初始聚類階段隨機選取10%的X的子樣本
Matrix提供一K*P的矩陣,作為初始質心位置集合
4、’Replicates’---聚類重復次數,為整數(可以理解為重復程序多次取平均)
5.代碼實例:
其實利用庫函數做聚類很簡單,但是收集數據,處理原始數據比較麻煩!!
data= rand(1000,5);%產生1000個樣本數據,每個數據有5個特征
[Idx,C,sumD,D]=Kmeans(data,3,'dist','sqEuclidean','Replicates',4)%聚類
%把1000個樣本聚為3類,距離度量函數為歐氏距離,聚類重復次數為4
總結
以上是生活随笔為你收集整理的matlab调用kmeans_matlab做聚类分析(k-means)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 时序轮转的意思_天地是景框时序轮转的风景
- 下一篇: matlab两个图共用一个x轴_SCI论