天天看点

MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比

输出结果

MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比

实现代码

load iris_data.mat

P_train = [];

T_train = [];

P_test = [];

T_test = [];

for i = 1:3

   temp_input = features((i-1)*50+1:i*50,:);

   temp_output = classes((i-1)*50+1:i*50,:);

   n = randperm(50);

   P_train = [P_train temp_input(n(1:40),:)'];

   T_train = [T_train temp_output(n(1:40),:)'];

   P_test = [P_test temp_input(n(41:50),:)'];

   T_test = [T_test temp_output(n(41:50),:)'];

end

[IW,B,LW,TF,TYPE] = elmtrain(P_train,T_train,20,'sig',1);

T_sim_1 = elmpredict(P_train,IW,B,LW,TF,TYPE);

T_sim_2 = elmpredict(P_test,IW,B,LW,TF,TYPE);

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) ')'])

figure(2)

plot(1:30,T_test,'bo',1:30,T_sim_2,'r-*')

grid on

xlabel('测试集样本编号')

ylabel('测试集样本类别')

string = {'ELM:ELM实现鸢尾花种类测试集预测识别正确率(better)结果对比—Jason niu';['(正确率Accuracy = ' num2str(Accuracy_2) '%)' ]};

title(string)

legend('真实值','ELM预测值')

继续阅读