KPCA-ISSA-SVM分类预测,基于核主成分分析和改进的麻雀搜索算法优化支持向量机故障诊断分类预测,MATLAB代码(。

KPCA-ISSA-SVM分类预测,基于核主成分分析和改进的麻雀搜索算法优化支持向量机故障诊断分类预测,MATLAB代码(。_第1张图片

%% 清空环境变量

warning off % 关闭报警信息

close all % 关闭开启的图窗

clear % 清空变量

clc % 清空命令行

%% 导入数据

res = xlsread('数据集.xlsx');

%% 参数设置

P_train=res(:,1:end-1)';

%% 数据归一化

[p_train, ps_input] = mapminmax(P_train, 0, 1);

%% 矩阵转置

p_train = p_train';

%% 参数设置

para = 2; % 核函数参数

dim = 8; % 降维后维度

%% 降维

[zes, ~, kes] = kPCA(p_train, dim, 'poly', para);

%% 贡献率

Vars = kes(1: dim) / sum(kes);

%% 降维后各特征的信息占比

figure

bar(Vars)

legend('降维后特征信息占比')

xlabel('特征')

ylabel('信息占比')

string = {'降维后信息的特征占比'};

title(string)

grid

%% 重新安排数据

res = [zes';res(:,end)']';

%% 分析数据

num_class = length(unique(res(:, end))); % 类别数(Excel最后一列放类别)

num_res = size(res, 1); % 样本数(每一行,是一个样本)

num_size = 0.7; % 训练集占数据集的比例

res = res(randperm(num_res), :); % 打乱数据集(不打乱数据时,注释该行)

flag_conusion = 1; % 标志位为1,打开混淆矩阵(要求2018版本及以上)

outdim = 1; % 最后一列为输出

f_ = size(res, 2) - outdim; % 输入特征维度

你可能感兴趣的:(支持向量机,分类,机器学习)