|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 {) j/ n0 W: w$ [/ d4 z7 q9 ~: t
MATLAB包含kmeans算法聚类工具8 r6 ?0 @- u5 [ c+ P
4 _% s4 b# }$ S8 {2 k! H
返回值. u% J) G# G& i4 }+ t
) B3 N7 ?* l8 r( gIdx N*1的向量,存储的是每个点的聚类标号" r' {% }- G4 L+ O2 p
Ctrs K*P的矩阵,存储的是K个聚类质心位置7 H: ^+ K/ b' J8 s o5 a
SumD 1*K的和向量,存储的是类间所有点与该类质心点距离之和
1 {5 [3 Y, j0 R! ^D N*K的矩阵,存储的是每个点与所有质心的距离;
K: M. d |3 j8 T# q( [1 U$ H( ~. h
参数
1 j& J6 W3 O; h( V! ?9 b; Z/ {( W% {7 r, l) d! c
1. ‘Distance’(距离测度)) ~: m+ j0 i( z( f* W# b
‘sqEuclidean’ 欧式距离(默认时,采用此距离方式)' ?, M% @. F6 v& ~3 L! e+ h. a
‘cityblock’ 绝度误差和,又称:L1
3 q0 V n4 o& S1 X. N8 x4 v( b‘cosine’ 针对向量
2 b6 P2 u2 B# D9 V5 J' D- q. V‘correlation’ 针对有时序关系的值
3 Y" Q/ G6 T+ n0 U‘Hamming’ 只针对二进制数据* g0 [! }1 ^1 R/ F
" c0 u8 R6 E- ~! s! h2. ‘Start’(初始质心位置选择方法)
. L( ~+ A, J5 D/ A6 P; ]. f9 L‘sample’ 从X中随机选取K个质心点/ l( A2 x0 c G$ L8 E8 I5 D
‘uniform’ 根据X的分布范围均匀的随机生成K个质心
) J3 B& o. r8 L: c‘cluster’ 初始聚类阶段随机选择10%的X的子样本(此方法初始使用’sample’方法)
% F' Q8 l! r6 k" Tmatrix 提供一K*P的矩阵,作为初始质心位置集合 G- x# @ { y! N+ P
$ W! D5 G) t% Q9 B3. ‘Replicates’(聚类重复次数) 整数
$ I& W! P. M9 q! r4 W
% Q# Z5 d' [, T; l# F- %随机获取150个点
- X = [randn(50,2)+ones(50,2);randn(50,2)-ones(50,2);randn(50,2)+[ones(50,1),-ones(50,1)]];
- %X为二维下50个点的坐标
- opts = statset('Display','final');
- %调用Kmeans函数
- %X N*P的数据矩阵
- %Idx N*1的向量,存储的是每个点的聚类标号
- %Ctrs K*P的矩阵,存储的是K个聚类质心位置
- %SumD 1*K的和向量,存储的是类间所有点与该类质心点距离之和
- %D N*K的矩阵,存储的是每个点与所有质心的距离;
- [Idx,Ctrs,SumD,D] = kmeans(X,3,'Replicates',3,'Options',opts);
- %画出聚类为1的点。X(Idx==1,1),为第一类的样本的第一个坐标;X(Idx==1,2)为第二类的样本的第二个坐标
- plot(X(Idx==1,1),X(Idx==1,2),'r.','MarkerSize',14)
- hold on
- plot(X(Idx==2,1),X(Idx==2,2),'b.','MarkerSize',14)
- hold on
- plot(X(Idx==3,1),X(Idx==3,2),'g.','MarkerSize',14)
- %绘出聚类中心点,kx表示是圆形
- plot(Ctrs(:,1),Ctrs(:,2),'kx','MarkerSize',14,'LineWidth',4)
- plot(Ctrs(:,1),Ctrs(:,2),'kx','MarkerSize',14,'LineWidth',4)
- plot(Ctrs(:,1),Ctrs(:,2),'kx','MarkerSize',14,'LineWidth',4)
- legend('Cluster 1','Cluster 2','Cluster 3','Centroids','Location','NW')
- Ctrs
- SumD
3 y, [: M) K+ F S+ V2 P; }
. P8 _4 I& G' s% d# T0 W$ |% S8 o; o# {* q3 W
效果
4 d6 r/ M2 p; S/ k4 `! x
9 H2 e( R/ i* {+ L+ g) w2 f. b4 |- E& Z; }
|
|