MATLAB聚类工具箱

news2024/9/20 12:39:41

本文借鉴了数学建模清风老师的课件与思路,可以点击查看链接查看清风老师视频讲解:【1】MATLAB聚类工具箱:提前预览工具箱的核心功能_哔哩哔哩_bilibili

关于工具箱的获取,在数学建模学习交流公众号里发送: 567891

%% 本工具箱对MATLAB的要求:
% (1)MATLAB版本为2021a及以上版本
% (2)只支持windows系统,不支持苹果电脑的MAC系统
% (3)MATLAB APP中有统计和机器学习工具箱(Statistics and Machine Learning Toolbox)

%% 使用下面的代码加载Kmeans工具箱(精简版,无使用期限) 
% 不要在压缩包中直接打开文件,先解压后再打开,MATLAB的当前文件夹也记得更改
%【Matlab新手经常遇到的一些问题】 https://b23.tv/EopJrWI 

P_mainfunction_KmeansCluster_Simple_Version


%% (1)示例1:鸢尾花数据集
% 工具箱中附带了鸢尾花的数据集,这是MATLAB内置的数据集
% 你可以看到在MATLAB的工作区有一个名为meas的矩阵(大小是150*4)
% 这表示数据集中有150个样本,4个指标:
% 花萼长  花萼宽  花瓣长  花瓣宽(单位都是cm)
meas=  [5.1 3.5 1.4 0.2;4.9 3 1.4 0.2;4.7 3.2 1.3 0.2;4.6 3.1 1.5 0.2;5 3.6 1.4 0.2;5.4 3.9 1.7 0.4;4.6 3.4 1.4 0.3;5 3.4 1.5 0.2;4.4 2.9 1.4 0.2;4.9 3.1 1.5 0.1;5.4 3.7 1.5 0.2;4.8 3.4 1.6 0.2;4.8 3 1.4 0.1;4.3 3 1.1 0.1;5.8 4 1.2 0.2;5.7 4.4 1.5 0.4;5.4 3.9 1.3 0.4;5.1 3.5 1.4 0.3;5.7 3.8 1.7 0.3;5.1 3.8 1.5 0.3;5.4 3.4 1.7 0.2;5.1 3.7 1.5 0.4;4.6 3.6 1 0.2;5.1 3.3 1.7 0.5;4.8 3.4 1.9 0.2;5 3 1.6 0.2;5 3.4 1.6 0.4;5.2 3.5 1.5 0.2;5.2 3.4 1.4 0.2;4.7 3.2 1.6 0.2;4.8 3.1 1.6 0.2;5.4 3.4 1.5 0.4;5.2 4.1 1.5 0.1;5.5 4.2 1.4 0.2;4.9 3.1 1.5 0.2;5 3.2 1.2 0.2;5.5 3.5 1.3 0.2;4.9 3.6 1.4 0.1;4.4 3 1.3 0.2;5.1 3.4 1.5 0.2;5 3.5 1.3 0.3;4.5 2.3 1.3 0.3;4.4 3.2 1.3 0.2;5 3.5 1.6 0.6;5.1 3.8 1.9 0.4;4.8 3 1.4 0.3;5.1 3.8 1.6 0.2;4.6 3.2 1.4 0.2;5.3 3.7 1.5 0.2;5 3.3 1.4 0.2;7 3.2 4.7 1.4;6.4 3.2 4.5 1.5;6.9 3.1 4.9 1.5;5.5 2.3 4 1.3;6.5 2.8 4.6 1.5;5.7 2.8 4.5 1.3;6.3 3.3 4.7 1.6;4.9 2.4 3.3 1;6.6 2.9 4.6 1.3;5.2 2.7 3.9 1.4;5 2 3.5 1;5.9 3 4.2 1.5;6 2.2 4 1;6.1 2.9 4.7 1.4;5.6 2.9 3.6 1.3;6.7 3.1 4.4 1.4;5.6 3 4.5 1.5;5.8 2.7 4.1 1;6.2 2.2 4.5 1.5;5.6 2.5 3.9 1.1;5.9 3.2 4.8 1.8;6.1 2.8 4 1.3;6.3 2.5 4.9 1.5;6.1 2.8 4.7 1.2;6.4 2.9 4.3 1.3;6.6 3 4.4 1.4;6.8 2.8 4.8 1.4;6.7 3 5 1.7;6 2.9 4.5 1.5;5.7 2.6 3.5 1;5.5 2.4 3.8 1.1;5.5 2.4 3.7 1;5.8 2.7 3.9 1.2;6 2.7 5.1 1.6;5.4 3 4.5 1.5;6 3.4 4.5 1.6;6.7 3.1 4.7 1.5;6.3 2.3 4.4 1.3;5.6 3 4.1 1.3;5.5 2.5 4 1.3;5.5 2.6 4.4 1.2;6.1 3 4.6 1.4;5.8 2.6 4 1.2;5 2.3 3.3 1;5.6 2.7 4.2 1.3;5.7 3 4.2 1.2;5.7 2.9 4.2 1.3;6.2 2.9 4.3 1.3;5.1 2.5 3 1.1;5.7 2.8 4.1 1.3;6.3 3.3 6 2.5;5.8 2.7 5.1 1.9;7.1 3 5.9 2.1;6.3 2.9 5.6 1.8;6.5 3 5.8 2.2;7.6 3 6.6 2.1;4.9 2.5 4.5 1.7;7.3 2.9 6.3 1.8;6.7 2.5 5.8 1.8;7.2 3.6 6.1 2.5;6.5 3.2 5.1 2;6.4 2.7 5.3 1.9;6.8 3 5.5 2.1;5.7 2.5 5 2;5.8 2.8 5.1 2.4;6.4 3.2 5.3 2.3;6.5 3 5.5 1.8;7.7 3.8 6.7 2.2;7.7 2.6 6.9 2.3;6 2.2 5 1.5;6.9 3.2 5.7 2.3;5.6 2.8 4.9 2;7.7 2.8 6.7 2;6.3 2.7 4.9 1.8;6.7 3.3 5.7 2.1;7.2 3.2 6 1.8;6.2 2.8 4.8 1.8;6.1 3 4.9 1.8;6.4 2.8 5.6 2.1;7.2 3 5.8 1.6;7.4 2.8 6.1 1.9;7.9 3.8 6.4 2;6.4 2.8 5.6 2.2;6.3 2.8 5.1 1.5;6.1 2.6 5.6 1.4;7.7 3 6.1 2.3;6.3 3.4 5.6 2.4;6.4 3.1 5.5 1.8;6 3 4.8 1.8;6.9 3.1 5.4 2.1;6.7 3.1 5.6 2.4;6.9 3.1 5.1 2.3;5.8 2.7 5.1 1.9;6.8 3.2 5.9 2.3;6.7 3.3 5.7 2.5;6.7 3 5.2 2.3;6.3 2.5 5 1.9;6.5 3 5.2 2;6.2 3.4 5.4 2.3;5.9 3 5.1 1.8];


%% (2)森林、草原资源数据集
%  有21个国家的数据,每个国家3项指标
%  森林覆盖率(%)	林木蓄积量(亿立方米)	草原面积(万公顷)
load data_forest.mat

%% (3)1999年全国31个省份城镇居民家庭平均每人全年消费性支出数据 
% 数据来源:嵩天Python机器学习算法课程案例
% 31个样本、8个指标
% 食品	衣着	家庭设备	医疗	交通	娱乐	居住	杂项
load data_expenditure.mat




% 本工具箱系列由清风老师和出版社合作开发,还未正式发布,目前相关合作还在洽谈阶段,仅给大家测试使用。
% 使用者不得进行任何商用行为,以免未来有版权纠纷。
% 因作者水平有限,本工具箱得到的结果不一定完全正确,请大家自行核对结果的正确性。

一、加载数据、去量纲以及缺失值

打开工具箱,运行:

P_mainfunction_KmeansCluster_Simple_Version

点击左上角“点我加载”会工作区里所有的二维数据加载到工具箱里;然后选择需要聚类的变量,点击点此确定,就会将这个变量里的所有指标导入进来,接着会提示是否需要去除量纲,根据自己需求选择即可,在左下角有两种去量纲的方法,如下图:

自己随便选择一种即可,选择了之后点击“点此确定”即可成功去除量纲,

去除量纲之后的变量会自动生成在工作区中,新的变量名叫:原变量名_qclg。

当数据中有缺失值时,会提示有缺失值,此时需要自己填补缺失值,填补的方法:缺失值和异常值的处理

点击指标名字可以修改指标名,也可批量修改。

二、聚类参数的设置、聚类结果的含义

簇的个数:可以手动设置,也可以自动寻找最优。当为自动寻优时,是通过寻找轮廓系数(越大越好)、间隔统计量等等这些评价指标最优时候的K值。这些评价指标详细过程可参考旁边的参考文档。也可以绘制肘部图来看,在哪里变化幅度开始减小时,K值就是谁。

计算距离的公式:一般时平方欧几里得聚类。

聚类中心的初始化方法:推荐K_Means++算法。

单次聚类允许的最大迭代数:一般不会超过1000。

使用不用的初始聚类中心重复聚类的次数:设置成几次,就会聚几次,然后将最好的结果返回,电脑性能好的话,可以设置的大一点。

固定随机数种子:设置随机数种子,可以将结果固定下来。因为每次都是随机的,不固定住的,结果可能会不一样。

点击开始聚类,即可生成聚类结果。

注:没完成一个操作,在任务栏就会生成这次操作的代码,运行这部分代码和操作工具箱得到的结果是一样的。

三、计算统计量解释聚类结果

自行选择数据源,然后点击“计算不同簇的统计量”,可以从数据特征中找到这3类的特点。

比如,第一类的特点就是花萼长和花瓣长最小,花萼宽最大;第二类特点花萼长最大和花瓣长最大。

四、二维和三维散点图

得到的散点图更加直观。

聚类中心的位置就是每一个簇的中心位置

 上面这个图第一类和第二类,一个靠近y州上面,一个靠近x轴右边,说明这俩类一个花萼宽更大,一个花萼长更大,第二类则位于中间。

鉴于后面的绘图都需要完整版,目前完整版又用不起,就没看后面的视频了。

五、区域图

六、平行坐标图

七、箱线图

八、主成分分析图

九、分组散点图矩阵

十、对聚类结果假设检验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1398935.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

日志记录logging

文章目录 1. logging基础使用1.1 日志的6个级别1.2 logging.basicConfig1.3 案例 2. logging的高级应用2.1 记录器Logger2.2 处理器- Handler2.3 格式器- Formatter2.4 创建关联2.4 案例 3.在项目中的应用3.1 定义全局使用的logger对象3.2 使用案例 参考 1. logging基础使用 1…

Wpf 使用 Prism 实战开发Day13

配置 AutoMapper 关系映射 在上一节 ToDoController 控制器,或 IToDoService 服务接口中,方法的传参都是直接传的实体类。但在实际开发过程中,这样是不允许的。标准且规范的做法是,定义一个数据传输层,即Dto层。 一.在…

荣誉艾尔迪亚人的题解

目录 原题描述: 题目背景 题目描述 输入格式 输出格式 样例 Input 1 Output 1 Input 2 Output 2 数据范围: 样例解释 主要思路: 代码code: 原题描述: 时间限制: 1000ms 空间限制: 65536kb 题目背景 ​…

GPT应用_PrivateGPT

项目地址:https://github.com/imartinez/privateGPT 1 功能 1.1 整体功能,想解决什么问题 搭建完整的 RAG 系统,与 FastGPT 相比,界面比较简单。但是底层支持比较丰富,可用于知识库的完全本地部署,包含大…

如何选择工程师职称申报的专业?

选择适合自己的职称评定专业,需从官方申报范围、公示名单中寻找答案,并选择适合自己的评审方式。需具备一定的工作年限、学历要求和充分证明自己能力水平的材料,方可获得职称资格。 在职称评定之路上,选择一个适合自己的专业&…

论文阅读笔记AI篇 —— Transformer模型理论+实战 (四)

论文阅读笔记AI篇 —— Transformer模型理论实战 (四) 一、理论1.1 理论研读1.2 什么是AI Agent? 二、实战2.1 先导知识2.1.1 tensor的创建与使用2.1.2 PyTorch的模块2.1.2.1 torch.nn.Module类的继承与使用2.1.2.2 torch.nn.Linear类 2.2 Transformer代…

设计模式--组合模式

缘起 某日,小明公司最近接到一个办公管理系统的项目,并且在每个城市都有分部。这属于是很常见的OA系统,只要前期将需求分析完善好,中后期开发维护是不难的。 然而,总部公司使用后觉得很OK,想要其他城市的…

【Proxy】Windows 10 的 Command Line Proxy 设置

【Proxy】Windows 10 的 Command Line Proxy 设置 1 本机环境2 PowerShell3 CMD 1 本机环境 Windows 10v2rayN 在 v2rayN 界面下方可以看到 socks 和 http 的端口号,分别为 10808 和 10809 2 PowerShell 每次打开新窗口,执行下面的命令 $env:HTTP_…

无刷电机行业调研:市场销售规模达到537亿元

无刷直流电机(BLDC:Brushless Direct Current Motor),也被称为电子换向电机(ECM或EC电机)或同步直流电机,是一种使用直流电(DC)电源的同步电机。无刷直流电机实质上为采用直流电源输入,并用逆变器变为三相交流电源,带位…

GitHub图床TyporaPicGo相关配置

本文作者: slience_me 文章目录 GitHub图床&Typora&PicGo相关配置1. Github配置2. picGo配置3. Typora配置 GitHub图床&Typora&PicGo相关配置 关于Typora旧版的百度网盘下载路径 链接:https://pan.baidu.com/s/12mq-dMqWnRRoreGo4MTbKg?…

三国游戏(寒假每日一题+贪心、枚举)

题目 小蓝正在玩一款游戏。 游戏中魏蜀吴三个国家各自拥有一定数量的士兵 X,Y,Z(一开始可以认为都为 0)。 游戏有 n 个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第 i个事件发生时会分别让 X,Y,Z 增加 Ai,Bi…

零基础学Python(2)— 安装Python开发工具之PyCharm

前言:Hello大家好,我是小哥谈。PyCharm是由JetBrains公司开发的一款Python开发工具。在Windows、Mac OS和Linux操作系统中都可以使用。它具有语法高亮显示、Project(项目)管理代码跳转、智能提示、自动完成、调试、单元测试和版本…

关于SQL-case when最全面的学习笔记

case when 推荐学习书籍:1、SQL基础教程 6-32、SQL进阶教程 1-1 case when 是SQL语法中提供的标准的条件分支。 条件分支在MYSQL中即为IF函数,不同的数据库都会提供自己的一些函数,但是CASE WHEN 更加通用。 CASE语句的两种写法 1、搜索CASE…

Ubuntu使用docker-compose安装mysql8或mysql5.7

ubuntu环境搭建专栏🔗点击跳转 Ubuntu系统环境搭建(十四)——使用docker-compose安装mysql8或mysql5.7 文章目录 Ubuntu系统环境搭建(十四)——使用docker-compose安装mysql8或mysql5.7MySQL81.新建文件夹2.创建docke…

在码云(gitee)里面提交代码进行保存步骤(自留笔记)

一些需要用到的软件需要自行下载 视频可观看https://www.bilibili.com/video/BV1hf4y1W7yT/ 步骤: 1.打开码云,点击加号,创建仓库 2.此处我的仓库选择私有,也可以选择开源,选择开源时,注意把弹出来的选项全…

「Kafka」Broker篇

「Kafka」Broker篇 主要讲解的是在 Kafka 中是怎么存储数据的,以及 Kafka 和 Zookeeper 之间如何进行数据沟通的。 Kafka Broker 总体工作流程 Zookeeper 存储的 Kafka 信息 启动 Zookeeper 客户端: [atguiguhadoop102 zookeeper-3.5.7]$ bin/zkCli.sh通…

【JavaEE】_网络编程基础

目录 1. 网络编程基础 1.1 网络编程定义 1.2 网络编程中的基本概念 1.2.1 API 1.2.2.发送端和接收端 1.2.3 请求和响应 1.2.4 客户端和服务端 2. Socket 套接字 2.1 概念 2.2 分类 3. UDP数据报套接字编程 3.1 DatagramSocket API 3.1.1 含义 3.1.2 构造方法 3…

全景摄像机行业分析:市场规模不可限量

早期的全景相机行业竞争格局较为多元。近年来随着行业技术不断成熟,市场的竞争格局由多家参与逐步向头部企业聚拢,国内企业凭借图像处理技术优势在全景相机行业中逐步抢占市场份额。 全景摄像机,是可以独立实现大范围无死角监控的摄像机。 一…

OpenVINS学习7——评估工具的简单使用

前言 OpenVINS自带评估工具,这里记录一下使用方法,我是以VIRAL数据集为例,但是目前仍然有问题,发现误差很大,我还没搞明白哪里出了问题。 工具介绍 主要参考 https://docs.openvins.com/eval-error.html https://bl…

ELK 日志分析系统

目录 一、日志管理方案 二、完整日志系统基本特征 三、ELK 简介 ELK组件: 1、ElasticSearch 2、Logstash 3、Kibana 可以添加的其它组件: 1、Filebeat 2、缓存/消息队列(redis、kafka、RabbitMQ等) 3、Fluentd 三、ELK …