MATLAB聚类工具箱

本文借鉴了数学建模清风老师的课件与思路,可以点击查看链接查看清风老师视频讲解:【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轴右边,说明这俩类一个花萼宽更大,一个花萼长更大,第二类则位于中间。

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

五、区域图

六、平行坐标图

七、箱线图

八、主成分分析图

九、分组散点图矩阵

十、对聚类结果假设检验

1 2/3维图像分割工具箱 2 PSORT粒子群优化工具箱 3 matlab计量工具箱Lesage 4 MatCont7p1 5 matlab模糊逻辑工具箱函数 6 医学图像处理工具箱 7 人工蜂群工具箱 8 MPT3安装包 9 drEEM toolbox 10 DOMFluor Toolbox v1.7 11 Matlab数学建模工具箱 12 马尔可夫决策过程(MDP)工具箱MDPtoolbox 13 国立SVM工具箱 14 模式识别与机器学习工具箱 15 ttsbox1.1语音合成工具箱 16 分数阶傅里叶变换的程序FRFT 17 魔方模拟器与规划求解 18 隐马尔可夫模型工具箱 HMM 19 图理论工具箱GrTheory 20 自由曲线拟合工具箱ezyfit 21 分形维数计算工具箱FracLab 2.2 22 For-Each 23 PlotPub 24 Sheffield大学最新遗传算法工具箱 25 Camera Calibration 像机标定工具箱 26 Qhull(二维三维三角分解、泰森图)凸包工具箱 2019版 27 jplv7 28 MatlabFns 29 张量工具箱Tensor Toolbox 30 海洋要素计算工具箱seawater 31 地图工具箱m_map 32 othercolor配色工具包 33 Matlab数学建模工具箱 34 元胞自动机 35 量子波函数演示工具箱 36 图像局域特征匹配工具箱 37 图像分割graphcut工具箱 38 NSGA-II工具箱 39 chinamap中国地图数据工具箱(大陆地区) 40 2D GaussFit高斯拟合工具箱 41 dijkstra最小成本路径算法 42 多维数据快速矩阵乘法 43 约束粒子群优化算法 44 脑MRI肿瘤的检测与分类 45 Matlab数值分析算法程序 46 matlab车牌识别完整程序 47 机器人工具箱robot-10.3.1 48 cvx凸优化处理工具箱 49 hctsa时间序列分析工具箱 50 神经科学工具箱Psychtoolbox-3-PTB 51 地震数据处理工具CREWES1990版 52 经济最优化工具箱CompEcon 53 基于约束的重构分析工具箱Cobratoolbox 54 Schwarz-Christoffel Toolbox 55 Gibbs-SeaWater (GSW)海洋学工具箱 56 光声仿真工具箱K-Wave-toolbox-1.2.1 57 语音处理工具箱Sap-Voicebox 58 贝叶斯网工具箱Bayes Net Toolbox(BNT) 59 计算机视觉工具箱VFfeat-0.9.21 60 全向相机校准工具箱OCamCalib_v3.0 61 心理物理学数据分析工具箱Palamedes1_10_3 62 生理学研究工具箱EEGLAB 63 磁共振成像处理工具箱CONN 18b 64 matlab 复杂网络工具箱 65 聚类分析工具箱FuzzyClusteringToolbox 66 遗传规划matlab工具箱 67 粒子群优化工具箱 68 数字图像处理工具箱DIPUM Toolbax V1.1.3 69 遗传算法工具箱 70 鱼群算法工具箱OptimizedAFSAr 71 蚁群算法工具箱 72 matlab优化工具箱 73 数据包络分析工具箱 74 图像分割质量评估工具包 75 相关向量机工具箱 76 音频处理工具箱 77 nurbs工具箱 78 Nurbs-surface工具箱 79 grabit数据提取工具箱 80 量子信息工具箱QLib 81 DYNAMO工具箱 82 NEDC循环的整车油耗量 83 PlotHub工具箱 84 MvCAT_Ver02.01 85 Regularization Tools Version 4.1 86 MatrixVB 4.5(含注册) 87 空间几何工具箱 matGeom-1.2.2 88 大数计算工具箱 VariablePrecisionIntegers 89 晶体织构分析工具包 mtex-5.7.0 90 Minimal Paths 2工具箱 91 Matlab数学建模工具箱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值