加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

k-means算法参数解释

(2015-07-06 21:12:34)
标签:

k-means

算法

参数解释

分类: 研究生涯

K-means聚类算法采用的是将N*P的矩阵X划分为K个类,使得类内对象之间的距离最大,而类之间的距离最小。

 

使用方法:

Idx=Kmeans(X,K)

[Idx,C]=Kmeans(X,K) 

[Idx,C,sumD]=Kmeans(X,K) 

[Idx,C,sumD,D]=Kmeans(X,K) 

[…]=Kmeans(…,’Param1’,Val1,’Param2’,Val2,…)

 

各输入输出参数介绍:

 

N*P的数据矩阵

K 表示将X划分为几类,为整数

Idx  N*1的向量,存储的是每个点的聚类标号

C  K*P的矩阵,存储的是K个聚类质心位置

sumD  1*K的和向量,存储的是类间所有点与该类质心点距离之和

D  N*K的矩阵,存储的是每个点与所有质心的距离

 

[…]=Kmeans(…,'Param1',Val1,'Param2',Val2,…)

这其中的参数Param1Param2等,主要可以设置为如下:

 

1. ‘Distance’(距离测度)

‘sqEuclidean’ 欧式距离(默认时,采用此距离方式)

‘cityblock’ 绝度误差和,又称:L1

‘cosine’ 针对向量

‘correlation’   针对有时序关系的值

‘Hamming’ 只针对二进制数据

 

2. ‘Start’(初始质心位置选择方法)

‘sample’ X中随机选取K个质心点

‘uniform’ 根据X的分布范围均匀的随机生成K个质心

‘cluster’ 初始聚类阶段随机选择10%X的子样本(此方法初始使用’sample’方法)

matrix 提供一K*P的矩阵,作为初始质心位置集合

 

3. ‘Replicates’(聚类重复次数)   整数

 

               

使用案例:

 

>> [2 2;2 1;5 7;3 5;7 2;1 3;7 5;4 4]

=

             2

             1

             7

             5

             2

             3

             5

             4

>>  [Idx,C,sumD,D]=kmeans(x,3,'dist','sqEuclidean','rep',4)

 

运行结果:

Idx =

     1

     1

     3

     3

     2

     3

     2

     3

 

=

 

    2.0000    2.0000    1.5000

    7.0000    3.5000    3.5000

3.2500    5.5000    4.7500

 

sumD =

 

    2.5000

    5.0000

   20.5000

 

=

 

    1.2500   33.5000   29.3750

    1.2500   31.5000   21.8750

   55.2500   22.5000    8.3750

   29.2500   24.5000    0.3750

   29.2500    2.5000   23.8750

   19.2500   42.5000    8.3750

   38.2500    2.5000   20.3750

   14.2500    9.5000    3.3750

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有