有序聚类的matlab实现
有序聚类(自用笔记)
Matlab代码如下
1. 当分割点为2个时(想分成3段)
%% 此程序用于若将一个一维序列按照有序聚类中离差最小的方式进行分割成3段,确定分段点的位置;
%
data = inputdata; % inputdata 是需要输入的数据
[aa,bb]=size(data); %
vt=zeros(bb,aa-2,aa-1);
vt_sum=inf*ones(aa-2,aa-1);
%突变
for m=1:bbfor xti=1:aa-2for xtj=xti+1:aa-1x1=data(1:xti,m); x2=data(xti+1:xtj,m); x3=data(xtj+1:aa,m);vt1=var(x1)*length(x1);vt2=var(x2)*length(x2);vt3=var(x3)*length(x3);vt(m,xti,xtj)=vt1+vt2+vt3;endend
end
for m=1:bbfor xti=1:aa-2for xtj=xti+1:aa-1vt_sum(xti,xtj)=sum(vt(:,xti,xtj));endend
end[Vtmin_column,index_row]=min(vt_sum);
[Vtmin_row,index_column]=min(Vtmin_column);
Vtmin=Vtmin_row;
index=[index_row(index_column),index_column];
disp(['第一分节点为 ',num2str(index(1))])
disp(['第二分节点为 ',num2str(index(2))])
disp(['对应最小离差为 ',num2str(Vtmin)])
- 不妨简单试验一下
inputdata = [1 1 1 1 3 3 3 3 3 9 9 9 9]; % 理论上分割点为{1-4}, {5-9}, {10-13}
inputdata = inputdata’; % 输入的需要时列向量
计算结果为:
第一分节点为 4
第二分节点为 9
对应最小离差为 0
2. 当分割点只有1个时(想分成2段)
data = inputdata; % inputdata 是需要输入的数据
M=length(data);
Sn = inf*ones(M,1);
for s = 1 : Mx1 = data(1: s);x2 = data(s+1:end);v1 = var(x1)*length(x1);v2 = var(x2)*length(x2);Sn(s) = v1 + v2;
end
[m, n] = min(Sn)
disp(['最优分割点为', num2str(n)]);
disp(['最有分割时对应的离差为', num2str(m)]);
- 简单试验一下
inputdata = [1 1 1 1 1 9 9 9]; % 理论上分割点为{1-5}, {6-8}
inputdata = inputdata’; % 输入的需要时列向量
计算结果为:
最优分割点为5
最有分割时对应的离差为0
关欢迎指导交流学习
有序聚类的matlab实现相关推荐
- matlab中的聚类算法,kmeans聚类算法matlab matlab 聚类算法silhouette
怎样用matlab实现多维K-means聚类算法小编觉得一个好的周末应该是这样的:睡到中午醒来,在床上躺着玩两个小时手机,起床随便吃点东西,下午去超市买一大堆零食,五六点的时候去约小伙伴们吃火锅烧烤, ...
- 分裂层次聚类matlab实现,凝聚层次聚类算法matlab源码
<凝聚层次聚类算法matlab源码>由会员分享,可在线阅读,更多相关<凝聚层次聚类算法matlab源码(3页珍藏版)>请在人人文库网上搜索. 1.共享一个在数据挖掘课程中作为示 ...
- 谱聚类方法-MATLAB
Matlab提供了两种方法进行聚类分析. 一种是利用 clusterdata函数对样本数据进行一次聚类,其缺点为可供用户选择的面较窄,不能更改距离的计算方法: 另一种是分步聚类:(1)找到数据集合中变 ...
- matlab中CH指标聚类评价指标,MATLAB聚类有效性评价指标(外部)
MATLAB聚类有效性评价指标(外部) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 更多内容,请看标签:MATLAB.聚类 前提:数据的真实标签已知 ...
- kmeans聚类算法matlab代码,K-Means算法实现(Matlab)
K-Means算法具体内容可以参考我博客的相关文章,这里只使用Matlab对其进行实现,其他内容不多赘述 K-Means算法 1.生成随机样本点 首先利用 mvnrnd 函数生成3组满足高斯分布的数据 ...
- 三维层次聚类分析matlab,聚类分析(三) 层次聚类及matlab程序
一.层次聚类介绍 1.1 简介 层次聚类,主要是对给定的待聚类的数据集进行层次化分解.主要分为两大类: 1.从下到上的凝聚聚类 2.从上到下的分裂聚类 其他算法大部分是对样本之间距离度量或者类间凝聚/ ...
- m基于ACO蚁群优化的FCM模糊聚类算法matlab仿真
目录 1.算法概述 2.仿真效果预览 3.核心MATLAB程序 4.完整MATLAB程序 1.算法概述 蚁群算法是通过对自然界中真实蚂蚁的集体行为的观察,模拟而得到一种仿生优化算法,它具有很好的并行性 ...
- K-mean(多维度)聚类算法(matlab代码)
申明: 仅个人小记. Email: officeforcsdn@163.com 目录 效果演示 二维度 三维度 k-mean 算法思想简要说明 代码分析 二维度k-mean代码 三维度k-mean代码 ...
- [机器学习]多视角谱聚类(Ncut matlab代码)
一.多视角 多视角聚类是伴随着信息时代发展过程中人们获取信息的途径日益增加,而逐渐出现的新聚类研究方向.通过多种途径获得的数据其实是对同件事物的不同描述,如电影的图片以及音频都是对这个电影的描述, ...
最新文章
- easyui的datagrid的使用记录
- AVFoundation学习Demo--拍摄视频
- scanf printf sprintf fprintf
- vue 监听表格里的数据变化_vue中监听数据变化 watch
- Uva1627 Team them up!
- 扇出性 java_索引与算法
- VS2019中接连MySQL全部过程
- Windows 网卡配置多VLAN
- 大道至简(第六章)读后感
- 现代php 阅读笔记,PHP 手册阅读笔记 - 语言参考篇
- ssms没有弹出服务器验证_powerbi报表服务器搭建链接
- 开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(九)NagVis安装
- 普通机器学习模型的提升
- python中定义字典数据类型使用什么符号_python数据类型之字典类型-dict
- java函数式 new_Java函数式编程-4.lambda表达式一些高级用法
- Linux内核和用户空间数据交互copy_to_user和copy_from_user
- matlab2014中GUI之菜单栏设计
- GroupBox与Panel控件
- cuba_认识CLI for CUBA平台
- TYVJ1356(腾讯大战360)
热门文章
- 企业OA办公系统有哪些?
- Python基础课程-for循环
- org.springframework.data.redis.RedisSystemException: Error in execution; nes遇到springboot连接Redis报错
- 聊聊微软的两个产品XBOX和SharePoint
- 安卓7.0报错android.os.FileUriExposedException
- CocosCreator优化之DrawCall漫谈
- word2003如何设置护眼模式_word功能应用:如何进入深色护眼阅读模式
- 写综述如何降低查重率?
- php复姓怎么排序,这些高大上的复姓,你喜欢哪个?
- 配置电脑使Wireshark能抓到有VLAN标签的报文