• 大小: 15KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: matlab  

资源简介

用极限学习机分类,里面有完整的程序,欢迎前来下载,你值得拥有!一定完美运行,可以的话,欢迎好评。

资源截图

代码片段和文件信息

%% 极限学习机在分类问题中的应用研究

%% 清空环境变量
clear all
clc
warning off


%% 导入数据
data=xlsread(‘排列熵.xlsx‘);%读取所有的样本熵特征
%输入输出数据
input=data(:2:5);
output=data(:1);
% 训练集——30个样本
P_train=[input(1:10:);input(26:35:);input(51:60:)]‘;
T_train=[output(1:10:);output(26:35:);output(51:60:)]‘;
% 测试集——45个样本
P_test=[input(11:25:);input(36:50:);input(61:75:)]‘;
T_test=[output(11:25:);output(36:50:);output(61:75:)]‘;

%% ELM创建/训练
[IWBLWTFTYPE] = elmtrain(P_trainT_train15‘sig‘1);%里面的参数至关重要,之前是100,正确率很低

%% ELM仿真测试
T_sim_2 = elmpredict(P_testIWBLWTFTYPE);

%% 结果对比
result_2 = [T_test‘ T_sim_2‘];

% 测试集正确率
k2 = length(find(T_test == T_sim_2));
n2 = length(T_test);
Accuracy_2 = k2 / n2 * 100;
disp([‘测试集正确率Accuracy = ‘ num2str(Accuracy_2) ‘%(‘ num2str(k2) ‘/‘ num2str(n2) ‘)‘])

% ----------------测试集的实际分类和预测分类图---------------
figure;
hold on;
plot(T_test‘o‘);
plot( T_sim_2‘r*‘);
xlabel(‘测试集样本‘‘FontSize‘12);
ylabel(‘类别标签‘‘FontSize‘12);
legend(‘实际测试集分类‘‘预测测试集分类‘);
string = {‘测试集预测结果对比(ELM)‘;[‘(正确率Accuracy = ‘ num2str(Accuracy_2) ‘%)‘ ]};
title(string)
grid on;



%% 极限学习机在分类问题中的应用研究

%% 清空环境变量
clear all
clc
warning off


%% 导入数据
data=xlsread(‘排列熵.xlsx‘);%读取所有的样本熵特征
%输入输出数据
input=data(:2:5);
output=data(:1);
% 训练集——30个样本
P_train=[input(1:10:);input(26:35:);input(51:60:)]‘;
T_train=[output(1:10:);output(26:35:);output(51:60:)]‘;
% 测试集——45个样本
P_test=[input(11:25:);input(36:50:);input(61:75:)]‘;
T_test=[output(11:25:);output(36:50:);output(61:75:)]‘;
[IWBLWTFTYPE] = elmtrain(P_trainT_train20‘sig‘1);

%% ELM仿真测试
T_sim_1 = elmpredict(P_trainIWBLWTFTYPE);
T_sim_2 = elmpredict(P_testIWBLWTFTYPE);

%% 结果对比
result_1 = [T_train‘ T_sim_1‘];
result_2 = [T_test‘ T_sim_2‘];
% 训练集正确率
k1 = length(find(T_train == T_sim_1));
n1 = length(T_train);
Accuracy_1 = k1 / n1 * 100;
disp([‘训练集正确率Accuracy = ‘ num2str(Accuracy_1) ‘%(‘ num2str(k1) ‘/‘ num2str(n1) ‘)‘])
% 测试集正确率
k2 = length(find(T_test == T_sim_2));
n2 = length(T_test);
Accuracy_2 = k2 / n2 * 100;
disp([‘测试集正确率Accuracy = ‘ num2str(Accuracy_2) ‘%(‘ num2str(k2) ‘/‘ num2str(n2) ‘)‘])
N=45;
figure(1)
plot(1:NT_test(1:)‘b:o‘1:NT_sim_2(1:)‘r-*‘)
grid on
legend(‘真实值‘‘预测值‘)
xlabel(‘样本编号‘)
ylabel(‘故障类别‘)
string = {‘测试集预测结果对比(ELM)‘;[‘(正确率Accuracy = ‘ num2str(Accuracy_2) ‘%)‘ ]};
title(string)




 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-10-12 10:39  ELM分类\
     文件        2667  2018-10-08 20:05  ELM分类\elm.m
     文件        1454  2013-01-30 09:36  ELM分类\elmpredict.m
     文件        1752  2013-01-30 09:36  ELM分类\elmtrain.m
     文件       13098  2018-09-23 16:32  ELM分类\排列熵.xlsx

评论

共有 条评论