Matlab的K-均值聚类Kmeans函数
K-means聚类算法采用的是将N*P的矩阵X划分为K个类,使得类内对象之间的距离最大,而类之间的距离最小。
使用方法:
Idx=Kmeans(X,K)
[Idx,C]=Kmeans(X,K)
[Idc,C,sumD]=Kmeans(X,K)
[Idx,C,sumD,D]=Kmeans(X,K)
各输入输出参数介绍:
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’---初始质心位置选择方法