|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
) y# ]- t `8 K& G) Y9 r5 vMATLAB包含kmeans算法聚类工具/ f8 E# {8 v% \
: g E2 f* D2 b返回值
, t' i+ K% L( i6 n) g% r8 R( m8 [5 `, R3 a& O
Idx N*1的向量,存储的是每个点的聚类标号
2 o% M: P7 d, A( FCtrs K*P的矩阵,存储的是K个聚类质心位置
& A4 Z6 N" M# W6 C Y' PSumD 1*K的和向量,存储的是类间所有点与该类质心点距离之和
2 o- W8 o' _2 e. y" Q5 R8 x! a* ?D N*K的矩阵,存储的是每个点与所有质心的距离;2 t5 H) n9 c5 g& [ M; w- Z
! d' V& t) V$ k' Z参数
3 m9 J+ \; `* {9 c, _5 B" i) H% W6 v8 b9 s+ [2 Y
1. ‘Distance’(距离测度). y( B( g3 T7 y
‘sqEuclidean’ 欧式距离(默认时,采用此距离方式)
5 [$ E, d) e" M5 m1 w6 Q I‘cityblock’ 绝度误差和,又称:L1
0 U: g# F& k* t7 [4 y7 v‘cosine’ 针对向量
7 q, C/ o. ?- u/ d0 C8 j; G: M5 G‘correlation’ 针对有时序关系的值- ?* I: s3 ?4 q9 [* X4 }
‘Hamming’ 只针对二进制数据7 w' e: ^$ K9 Q
; x0 Q! a; W4 k7 m9 c2. ‘Start’(初始质心位置选择方法)! M, s/ H+ t8 k
‘sample’ 从X中随机选取K个质心点2 ?& O5 C# j. h" M
‘uniform’ 根据X的分布范围均匀的随机生成K个质心
3 v# c9 P2 q# R, s‘cluster’ 初始聚类阶段随机选择10%的X的子样本(此方法初始使用’sample’方法) h; n6 l. X" {5 o" a& ]
matrix 提供一K*P的矩阵,作为初始质心位置集合 P+ e4 {' f/ ~5 l" q; a9 X
4 i3 f5 R* V2 z! L! f1 k4 r
3. ‘Replicates’(聚类重复次数) 整数 ?9 Z$ y/ k8 {! y1 b
& h( I: ^5 s; K9 `% N4 s0 x
- %随机获取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
1 J% X9 u6 h& Y) G: K - }, O/ {+ u' g5 u! v* a9 b
$ ?1 {+ O) k1 Y效果
+ Z3 j; k: @& U* w
% n/ `6 ?+ r5 Z! `; M' a" F+ F: I
( r& u+ L* n7 d: x t |
|