• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

【K-means算法】matlab代码实例学习

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.

MATLAB函数Kmeans

使用方法:
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,…)

各输入输出参数介绍:
X: N*P的数据矩阵,N为数据个数,P为单个数据维度
K: 表示将X划分为几类,为整数
Idx: N*1的向量,存储的是每个点的聚类标号
C: K*P的矩阵,存储的是K个聚类质心位置
sumD: 1*K的和向量,存储的是类间所有点与该类质心点距离之和
D: N*K的矩阵,存储的是每个点与所有质心的距离

https://blog.csdn.net/wys7541/article/details/82153844

2.
输入:聚类的个数K,数据集,样本距离计算依据
输出:K个聚类

https://blog.csdn.net/sinat_38648388/article/details/83896131

 

3.

1.仅适合于数值属性的数据。
2.对正态分布(高斯分布)数据聚类效果最佳。


方法:
1. 从D中N个对象任意选择k个对象作为初始簇中心;
2. 根据欧氏距离,依次比较其余每个对象与各个簇中心的距离;选择距离最近的簇,依次把N个对象划分到k个簇中;
3. 完成第一次划分后,重新计算新的簇中心即均值,然后重新划分数据对象,直到新的簇中心不再发生变化。

https://blog.csdn.net/qiu1440528444/article/details/80611942

 

4.% 输入: data, 为一个 矩阵 M×N, 表示样本集,其中M表示共有M个样本, N表示每一个样本的维度;5.% k_value, 表示聚类的类别数目;

% 输出:    output, 是一个列向量 M×1,表示每一个样本属于的类别编号;
https://www.cnblogs.com/yinheyi/p/6132362.html

5.

https://www.cnblogs.com/tiandsp/p/3040883.html

6
.

https://blog.csdn.net/qq_20936739/article/details/78342882

7
.

1,kmeans的k是必须已知的,也就是我必须预先知道分成几类

 2,虽然你给定的是K类,但是我最终是有可能跑出来的类数小于初始设定的k,虽然每一个聚类中心都经过初始化,但是最终有的聚类中心可能会不包含一个点,那么这个聚类中心相当于可以省去,即分成k-1类(讲道理这是一件好事,说明原来我认为需要分5类,现在程序跑出来发现4类是最好的,这就达到了处理数据的目的,但是这并不是说我k随便给,最终结果就是最优解,很可能3类是最优,但是4类也能分,但是5类就很难分了,具体比如下面的一个例子) 。

             (后来的注释: 但是空聚类也有处理方法,就是聚类中心替换为当前距离任意聚类中心最远的点)

 3,数据可以是任意维度,修改的仅仅是求距离的方式。
https://blog.csdn.net/fengsigaoju/article/details/52167802


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab if elseif else条件语句如何使用?发布时间:2022-07-18
下一篇:
Delphi”程序级触发器”功能的实现发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap