EDA365电子论坛网
标题:
MATLAB工具箱k-means算法
[打印本页]
作者:
ulppknot
时间:
2020-9-29 14:24
标题:
MATLAB工具箱k-means算法
! p0 R6 @2 P/ B' h% s, P' c
MATLAB包含kmeans算法聚类工具
! U8 t6 s. @2 q
) X& K) m# j8 }5 O1 k( \0 Y
返回值
% I8 F- X9 G" y* j
" r' O. T: W$ j+ |! _* I
Idx N*1的向量,存储的是每个点的聚类标号
7 O" ~ q/ R: _0 c5 }% L' Q& F' P
Ctrs K*P的矩阵,存储的是K个聚类质心位置
' @2 c8 m3 y1 c0 o; w
SumD 1*K的和向量,存储的是类间所有点与该类质心点距离之和
' _) g& q# V' t5 ]7 J/ d% @* C
D N*K的矩阵,存储的是每个点与所有质心的距离;
, q5 ^/ c, l) Y# t! c
$ t( R2 R' k: O& I$ N
参数
8 { k6 | p: R5 \' x
?' A- L/ A% ]
1. ‘Distance’(距离测度)
3 Q2 d# g$ e" D, U
‘sqEuclidean’ 欧式距离(默认时,采用此距离方式)
0 W$ |; a( P8 b3 Y; g" a& Q
‘cityblock’ 绝度误差和,又称:L1
( L4 Y6 M/ T1 W0 ~
‘cosine’ 针对向量
; t$ M# a* R% q9 w" z- e. t" H
‘correlation’ 针对有时序关系的值
5 ^# }) G+ t2 U
‘Hamming’ 只针对二进制数据
, P& e& B( u2 w+ E; g% w
$ @$ i6 @% `9 X
2. ‘Start’(初始质心位置选择方法)
2 m4 N0 c1 p8 S7 R/ `- J
‘sample’ 从X中随机选取K个质心点
' O, o8 b$ f; J1 V( ]
‘uniform’ 根据X的分布范围均匀的随机生成K个质心
+ X* V* k( ~, w' m' t
‘cluster’ 初始聚类阶段随机选择10%的X的子样本(此方法初始使用’sample’方法)
7 D/ W( b8 {! y" h8 k- d i9 C
matrix 提供一K*P的矩阵,作为初始质心位置集合
0 t' y+ H" v( X# c
( U0 R- r Y: X1 O' A
3. ‘Replicates’(聚类重复次数) 整数
+ a6 B, |- k3 k0 g7 `: }
7 h' g. r5 Q! t$ K
%随机获取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
N U/ k& N$ {7 [. F1 W* ^4 a) G0 ]
7 D- K: h, y2 X" m& H4 d R5 P
1 _( w3 I5 F r
效果
% {4 U J- D6 g2 x F$ q8 W
2.jpg
(29.05 KB, 下载次数: 7)
下载附件
保存到相册
2020-9-29 14:23 上传
: c* K2 Y7 g8 Q; G0 K
7 f1 X$ ], F: r+ t$ s6 e2 @
作者:
regngfpcb
时间:
2020-9-29 15:14
MATLAB工具箱k-means算法
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2