数据的导入,利用Matlab导入Excel数据,生成操作性更高的脚本用于本次的测试。
在导入数据的过程中,筛选去掉不需要的冗余数据,生成对应的脚本文件
至此完成数据的初步导入
数据提取与标准化逻辑
采取的是最大最小值标准化方式
标准化代码如下:
%% 函数区域
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
原始数据可视化
结果如下:
由于不确定数据可以划分的组数,利用Calinski-Harabasz指数,确定最佳的分类组数
确定最终组数为3
对分类结果进行输出
下图所示为分类结果
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删