matlab 层次聚类算法,层次聚类的Matlab实现代码
最近需要用到层次聚类,发现在Matlab上很容易实现,下面是代码加详细注释
clear all
clc
close all
mdist=input('输入坐标文件名字\n');
disp('读取数据坐标')
%获取坐标
%文件为二维的坐标,第一列为x轴坐标,第二列为y轴坐标
xx=load(mdist);
%获取数据的个数存至number
[number, row]=size(xx);
%获取距离矩阵,第二参数指定距离计算方法
%可选参数有'euclidean':欧氏距离(默认);'seuclidean':标准化欧氏距离;
%'mahalanobis':马氏距离;'cityblock':布洛克距离;'minkowski':明可夫斯基距离;
%'cosine':余弦距离 'correlation':相关性 'hamming':汉明距离 'jaccard':Jaccard相似度
%'chebychev':Chebychev距离。
yy=pdist(xx,'euclidean');
%获取聚类,第二参数指定层次聚类方式
%'single':单连通,最短距离法(默认);'complete':全连通,最长距离法;'average':未加权平均距离法;
%'weighted': 加权平均法;'centroid': 质心距离法;'median':加权质心距离法;'ward':内平方距离法(最小方差算法)
zz=linkage(yy,'single');
%指定获取簇类个数
Ncluster=input('输入类个数\n');
%获取指定Ncluster个数的聚类结果
c = cluster( zz,'maxclust', Ncluster );
%获取绘图所需颜色
%需要用到linspecer.m文件
%下载地址
%http://www.mathworks.com/matlabcentral/fileexchange/42673-beautiful-and-distinguishable-line-colors-+-colormap
if(Ncluster>12)
Color = linspecer( Ncluster );
else
Color = linspecer( Ncluster, 'qualitative' );
end
for i=1:Ncluster
for j = 1:number
if(c(j) == i)
hold on
plot(xx(j,1),xx(j,2),'o','MarkerFaceColor',Color(i,:),'MarkerEdgeColor',Color(i,:))
end
end
end
参考资料:
matlab 层次聚类算法,层次聚类的Matlab实现代码相关推荐
- 聚类算法——层次聚类算法
每篇一句: You must strive to find your own voice. Because the longer you wait to begin, the less likely ...
- 单链聚类算法_聚类算法总结
1 什么是聚类算法? 聚类算法就是根据特定的规则,将数据进行分类.分类的输入项是数据的特征,输出项是分类标签,它是无监督的. 常见的聚类规则包括:1)基于原型的,例如有通过质心或中心点聚类, ...
- 【RF分类】基于matlab随机森林算法数据分类【含Matlab源码 2048期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[RF分类]基于matlab随机森林算法数据分类[含Matlab源码 2048期] 获取代码方式2: 付费专栏Matlab智能算法神经网络 ...
- 聚类算法--近邻聚类算法(C++实现)
聚类算法–近邻聚类算法(C++实现) 写在前面: 最近邻聚类算法,应该不是KNN,也不是K-means,就是一个特别基础的算法,但是在CSDN没有找到C++实现的这个算法,只有一个python写的 ...
- 基于 K-means 聚类算法实现图像区域分割matlab代码
1 简介 对图像进行颜色区域分割.将图像转换到CIE L*a*b颜色空间,用K均值聚类分析算法对描述颜色的a*和b*通道进行聚类分析;通过提取各个颜色区域独立成为单色的新图像,对图像进行分割处理.实验 ...
- matlab中的聚类算法,kmeans聚类算法matlab matlab 聚类算法silhouette
怎样用matlab实现多维K-means聚类算法小编觉得一个好的周末应该是这样的:睡到中午醒来,在床上躺着玩两个小时手机,起床随便吃点东西,下午去超市买一大堆零食,五六点的时候去约小伙伴们吃火锅烧烤, ...
- 【Python机器学习实战】聚类算法——层次聚类(HAC)和DBSCAN
层次聚类和DBSCAN 1.层次聚类 下面这样的结构应该比较常见,这就是一种层次聚类的树结构,层次聚类是通过计算不同类别点的相似度创建一颗有层次的树结构,在这颗树中,树的底层是原始数据点,顶层是一个聚 ...
- 【图像分割】基于 K-means 聚类算法实现图像区域分割matlab代码
1 简介 对图像进行颜色区域分割.将图像转换到CIE L*a*b颜色空间,用K均值聚类分析算法对描述颜色的a*和b*通道进行聚类分析;通过提取各个颜色区域独立成为单色的新图像,对图像进行分割处理.实验 ...
- 聚类算法-层次(系统)聚类 Kmeans聚类 两步聚类
一.距离定义 1.1 点-点 距离 距离用来衡量观测变量的属性,第iii个特征的观测值Xi=(xi1,xi2,...,xip)X_{i}=(x_{i1},x_{i2},...,x_{ip})Xi=( ...
- 【图像分割】基于模糊聚类FCM和改进的模糊聚类算法实现CT图像分割matlab代码
1 简介 医学影像分割的基本目标是将图像分割成不同的解剖组织,从而可以从背景中提取出感兴趣区域.因为图像的低分辨率和弱对比度,实现医学影像分割是一件具有挑战的任务.而且,这个任务由于噪声和伪阴影变得更 ...
最新文章
- Redis源码解析——字典基本操作
- Maven全局配置文件settings.xml 全解
- cmd 将文件夹下文件剪切到另外一个文件_总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇...
- boost::allocate_shared相关的测试程序
- 介绍ASP.NET控件ID
- 【ORACLE 高可用】ORACLE STREAM 基于用户的流复制配置 案例
- python数据处理模块pandas_13. Python|模块总结:Pandas(数据处理)|【老W笔记】...
- 分布式和集群的概念和区别
- centos7硬盘分区
- 查看我的mysql_我的MYSQL学习心得(七) 查询
- POJ-英语数字转化器
- dg修改归档目录 oracle_OracleDG主库丢失归档增量同步
- 用于小儿肺炎检测的无代码AI
- 项目管理工具——Jira使用和配置
- Binder机制原理简述
- 神经网络模拟的优缺点是,神经网络模型的优缺点
- 百度搜索框搜索时显示或者隐藏历史搜索记录
- AliOS-Things--EMW3060--linkkitapp
- 学会计学java,Java 属于以下哪种语言?_学小易找答案
- android 微信好友,朋友圈分享