%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
disp('…………………………………………………………………………………………………………………………')
disp('KPCA降维过程')
disp('…………………………………………………………………………………………………………………………')
%% 读取数据
load emd_data.mat
p_train = emd_data';
%% 参数设置
para = 10; % 核函数参数 调整会影响KPCA的结果
num=size(p_train,2); % 总输入维度
%% 降维
[zes, ~, kes] = kPCA(p_train, num, 'poly', para);
%% 贡献率
Vars = kes(1: num) / sum(kes);
figure
bar(Vars)
xlabel('特征')
ylabel('信息占比')
string = {'KPCA后各特征贡献率'};
title(string)
grid
com=0;
for rem=1:length(Vars)
com=com+Vars(rem);
if com>0.9 % 取贡献率大于90%的成分
break;
end
end
智能算法及其模型预测