Matlab中的聚类分析方法


一、原始数据

数据的导入,利用Matlab导入Excel数据,生成操作性更高的脚本用于本次的测试。
数据导入

   在导入数据的过程中,筛选去掉不需要的冗余数据,生成对应的脚本文件
脚本文件

   至此完成数据的初步导入

二、数据处理与结果输出

1.标准化与提取

数据提取与标准化逻辑
标准化

   采取的是最大最小值标准化方式

标准化代码如下:

%% 函数区域

function [normalized_data] = normalize(source_data, kind)
% 数据的标准化(归一化)处理
% 参数 source_data 可用格式的源数据
% 参数 kind 代表何种归一化方式, 默认为1. 1代表Min-Max标准化,2代表Z-score标准化.
% 返回归一化后的数据

if nargin < 2 % 如果参数少于2,默认进行Min-Max标准化
    kind = 1;
end

[m, n]  = size(source_data);
normalized_data = zeros(m, n);

%% Min-Max标准化(Min=0,Max=1)
if kind == 1
    for i = 1:n
        ma = max( source_data(:, i) ); % Matlab中变量名不宜和函数名相同,所以不用max、min、mean等变量名
        mi = min( source_data(:, i) );
        normalized_data(:, i) = ( source_data(:, i)-mi ) / ( ma-mi );
    end
end
%% Z-score标准化
if kind == 2
    for i = 1:n
        mea = mean( source_data(:, i) );
        st = std( source_data(:, i) );
        normalized_data(:, i) = ( source_data(:, i)-mea ) / st;
    end
end
end

2.可视化

原始数据可视化
可视化

   结果如下:
数据分布

3.簇数判别

由于不确定数据可以划分的组数,利用Calinski-Harabasz指数,确定最佳的分类组数
簇数判别
图形输出

   确定最终组数为3

4.最终输出

对分类结果进行输出
分类代码

下图所示为分类结果
输出图片

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空