找回密码
 注册
关于网站域名变更的通知
查看: 594|回复: 1
打印 上一主题 下一主题

MATLAB工具箱k-means算法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-9-29 14:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

8 f+ T  t1 M4 F; D8 EMATLAB包含kmeans算法聚类工具9 t6 {& ~. y* P

+ U5 L9 }# Z2 B/ h返回值/ t0 B- h5 T4 C3 b
! @9 W4 i$ J" r: D7 W  G6 A  _
Idx N*1的向量,存储的是每个点的聚类标号
# f+ T( y  K# D7 f/ eCtrs K*P的矩阵,存储的是K个聚类质心位置  p' N2 C9 `& }+ C' U
SumD 1*K的和向量,存储的是类间所有点与该类质心点距离之和" f: F1 `% V9 Z) ?0 C
D N*K的矩阵,存储的是每个点与所有质心的距离;
5 Y( N1 r( l! o/ k3 l7 d5 B6 f3 q" R2 [1 Z' R# E
参数6 B  t# @1 ~1 D0 r9 u3 R; z$ K+ I
' S8 Y/ u) [$ d! H- l2 V8 l
1. ‘Distance’(距离测度)% ]& s# n  [, ^
‘sqEuclidean’ 欧式距离(默认时,采用此距离方式)" L4 D( B$ a, ?* j: A6 l
‘cityblock’ 绝度误差和,又称:L1
3 }$ [4 u- F0 n3 L1 |9 W) R‘cosine’ 针对向量: @8 \8 S! P$ \; s
‘correlation’ 针对有时序关系的值
1 J7 V/ a( S- Q5 P: ~‘Hamming’ 只针对二进制数据) n4 L! [$ B9 j" {
/ I  }* c! g3 `# i% F6 I( l
2. ‘Start’(初始质心位置选择方法)" ^! y4 S2 P6 f( ^4 N
‘sample’ 从X中随机选取K个质心点
1 O, S1 b& a' j! z0 r: V‘uniform’ 根据X的分布范围均匀的随机生成K个质心9 k6 k+ y3 C8 Y9 n
‘cluster’ 初始聚类阶段随机选择10%的X的子样本(此方法初始使用’sample’方法)
7 x1 J" {" R& `matrix 提供一K*P的矩阵,作为初始质心位置集合' [6 P  M( n6 O/ i
: P6 V) Z3 f2 a
3. ‘Replicates’(聚类重复次数) 整数7 i; K; s8 B; v4 X* @3 D+ ^1 K

  Z6 Y9 e1 ]; ?! b/ f9 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. A6 ^: N; o8 ?9 Y
6 L( b, h! A( y! u
8 P6 V9 H& I0 \* N  w( d/ u9 U8 J
效果5 }) _* ~6 ^* |4 u
+ }: ?  k/ ]% v, A# e+ r( C9 s

2 u, H4 l7 d( [- M6 d9 Y

该用户从未签到

2#
发表于 2020-9-29 15:14 | 只看该作者
MATLAB工具箱k-means算法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 12:45 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表