title: matlab Kmeans算法
tags: 机器学习
category: matlab

参考

http://www.tup.tsinghua.edu.cn/booksCenter/book_07680201.html

代码如下

% 清除工作空间的所有变量,函数,和MEX文件
% 作用: 避免本次的运行受到之前运行的影响
clear all;% data: 待聚类的数据集
% 这里共有 30 条记录,每条记录含有3个特征
% 注:一行为 1 条记录,一列为 1 个特征
data=[
1702.8  1639.79 2068.74
1877.93 1860.96 1975.3
867.81  2334.68 2535.1
1831.49 1713.11 1604.68
460.69  3274.77 2172.99
2374.98 3346.98 975.31
2271.89 3482.97 946.7
1783.64 1597.99 2261.31
198.83  3250.45 2445.08
1494.63 2072.59 2550.51
1597.03 1921.52 2126.76
1598.93 1921.08 1623.33
1243.13 1814.07 3441.07
2336.31 2640.26 1599.63
354 3300.12 2373.61
2144.47 2501.62 591.51
426.31  3105.29 2057.8
1507.13 1556.89 1954.51
343.07  3271.72 2036.94
2201.94 3196.22 935.53
2232.43 3077.87 1298.87
1580.1  1752.07 2463.04
1962.4  1594.97 1835.95
1495.18 1957.44 3498.02
1125.17 1594.39 2937.73
24.22   3447.31 2145.01
1269.07 1910.72 2701.97
1802.07 1725.81 1966.35
1817.36 1927.4  2328.79
1860.45 1782.88 1875.13
];% 此处调用预先定义好的函数,即 api,
% 可以在 matlab 的命令行中输入 open kmeans 查看源码
%  IDX: 聚类结果
%    C: 簇中心
% SUMD: 每一个样本到该簇中心的距离之和
%    D: 每一个样本到各个簇中心的距离
%    K: 分类的个数,这里设置 k 为 4,即将分为 4 个簇
[IDX,C,SUMD,D] = kmeans(data,4);% 在三维空间以 3 个特征为坐标轴,构建图形
plot3(data(:,1),data(:,2),data(:,3),'*');
grid;% 找到每一个样本到四个聚类中心的最小距离
D=D'
minD=min(D); % 找到属于不同簇的点
index1 = find(D(1,:) ==min(D))
index2 = find(D(2,:) ==min(D))
index3 = find(D(3,:) ==min(D))
index4 = find(D(4,:) ==min(D))  % 在图形中对不同的簇加以区分
line(data(index1,1),data(index1,2),data(index1,3),'linestyle', 'none','marker','*','color','g');
line(data(index2,1),data(index2,2),data(index2,3),'linestyle', 'none','marker','*','color','r');
line(data(index3,1),data(index3,2),data(index3,3),'linestyle', 'none','marker','+','color','b');
line(data(index4,1),data(index4,2),data(index4,3),'linestyle', 'none','marker','+','color','y');% 图形标题、坐标轴标题
title('C均值聚类分析图');
xlabel('第一特征坐标');
ylabel('第二特征坐标');
zlabel('第三特征坐标');% 输出每个簇的簇中心
C

matlab Kmeans算法相关推荐

  1. kmeans k值确定 matlab,kmeans算法原理以及实践操作(多种k值确定以及如何选取初始点方法)...

    kmeans一般在数据分析前期使用,选取适当的k,将数据聚类后,然后研究不同聚类下数据的特点. 算法原理: (1) 随机选取k个中心点: (2) 在第j次迭代中,对于每个样本点,选取最近的中心点,归为 ...

  2. 光谱分类算法 matlab,Matlab K-means聚类算法对多光谱遥感图像进行分类(一)

    Matlab K-means聚类算法对多光谱遥感图像进行分类 作者: 白艺亭 测试了下matlab自带kmeans函数,作者编写函数,以及ENVI下的Kmeans方法,对比其效果,代码及结果图展示见下 ...

  3. matlab 职坐标,机器学习入门之机器学习实战ByMatlab(四)二分K-means算法

    本文主要向大家介绍了机器学习入门之机器学习实战ByMatlab(四)二分K-means算法,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助.前面我们在是实现K-means算法的时候,提到 ...

  4. K-means算法、高斯混合模型 matlab

    K-means算法.高斯混合模型 简介: 本节介绍STANFORD机器学习公开课中的第12.13集视频中的算法:K-means算法.高斯混合模型(GMM).(9.10.11集不进行介绍,略过了哈) 一 ...

  5. matlab disteclud,机器学习实战ByMatlab(四)二分K-means算法

    前面我们在是实现K-means算法的时候,提到了它本身存在的缺陷: 1.可能收敛到局部最小值 2.在大规模数据集上收敛较慢 对于上一篇博文最后说的,当陷入局部最小值的时候,处理方法就是多运行几次K-m ...

  6. matlab disteclud,机器学习实战ByMatlab(3)K-means算法

    K-means算法属于无监督学习聚类算法,其计算步骤还是挺简单的,思想也挺容易理解,而且还可以在思想中体会到EM算法的思想. K-means 算法的优缺点: 1.优点:容易实现 2.缺点:可能收敛到局 ...

  7. kmeans聚类算法matlab代码,K-Means算法实现(Matlab)

    K-Means算法具体内容可以参考我博客的相关文章,这里只使用Matlab对其进行实现,其他内容不多赘述 K-Means算法 1.生成随机样本点 首先利用 mvnrnd 函数生成3组满足高斯分布的数据 ...

  8. MATLAB实现k-means算法(k-均值)对无标签数据进行聚类,并通过肘部法则确定聚类类别

    应一个小伙伴的要求介绍了一下K均值聚类算法.本人也不是很专业,这是之前自学的,如果有错,大家可以提出来,共同进步嘛. 文章目录 一.k-means算法(k-均值) 1.k-means算法介绍 2.k- ...

  9. K-means算法Matlab实现

    K-means算法Matlab实现 本文只给出二维数据的K-means算法Matlab实现,理论推导参考了算法收敛性证明.[机器学习]K-means(非常详细).聚类算法--K-均值算法,此处不详细介 ...

  10. matlab中的聚类算法,kmeans聚类算法matlab matlab 聚类算法silhouette

    怎样用matlab实现多维K-means聚类算法小编觉得一个好的周末应该是这样的:睡到中午醒来,在床上躺着玩两个小时手机,起床随便吃点东西,下午去超市买一大堆零食,五六点的时候去约小伙伴们吃火锅烧烤, ...

最新文章

  1. 创建和触发Notification
  2. 百度测试linux面试题,百度测试开发岗位面试题目
  3. 按压缩格式整理打包(解包)和压缩(解压)命令
  4. iOS中有两种支持机制:Notification和KVO(Key-Value Observing)
  5. SunOS与Solaris系统的对应关系
  6. java 夯实基础_夯实基础-java equals使用,和 == 的区别
  7. js add方法_爬虫必备:Python 执行 JS 代码 —— PyExecJS、PyV8、Js2Py
  8. IDM最新版软件的安装下载和使用方法
  9. XMind ZEN 2020下载及安装
  10. PotPlayer没有声音解决方案
  11. C++ delete指针需置空
  12. 计算机速成课 第二集 电子计算机
  13. 书写NDIS过滤钩子驱动实现ip包过滤
  14. java代码抛出异常_Java中编写代码出现异常,如何抛出异常,如何捕获异常
  15. 虚拟主机的构建——基于域名、端口、IP
  16. 关于如何在网络上提问!
  17. dbus 嵌入式linux,MeeGo操作系统DBus调试工具
  18. 下载n站本子的 node.js 脚本
  19. jq html 回车提交表单,jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
  20. 驱动-遍历驱动、隐藏驱动

热门文章

  1. 查看Sql Server2016是否激活
  2. Python——类的实例
  3. mybatis-plus代码自动生成器
  4. 数字信号处理-04- FPGA常用运算模块-除法器
  5. Linux下通用打印系统CUPS使用教程
  6. spring boot访问zul页面总是变为下载页面
  7. R语言:使用openxlsx读取和写入数据
  8. vs2015好看的字体_【Vs2015】 常用字体的设置
  9. 时钟芯片ds1302的使用
  10. 游侠小秘书基本智能框架完成!!!