小面包 面包多
简介
评论
作品封面
永久回看

贝叶斯优化LSTM分类预测(matlab代码)

¥28.8 已有77人购买Ta的作品
投诉
头像
桔子代码 无个人简介
作品简介

贝叶斯优化LSTM分类matlab代码

数据为Excel分类数据集数据。

数据集划分为训练集、验证集、测试集,比例为8:1:1

数据处理: 在数据加载后,对数据进行了划分,包括训练集、验证集和测试集,这有助于评估模型的泛化能力。

数据标准化: 对数据进行了 Zscore 标准化处理,使得数据的均值为 0,标准差为 1,有利于提高模型的收敛速度和性能。

参数设置:代码中设置了贝叶斯迭代次数 BO_iter,通过调整这个参数,可以控制贝叶斯优化算法的迭代次数,从而更好地优化模型的超参数。

结果展示: 在算法处理块结束后,展示了模型在训练集、验证集和测试集上的准确率,以及程序的运行时长。这有助于对模型的性能进行评估和比较。

输出的定量结果如下:

训练集正确率:0.99187

验证集正确率:0.9375

测试集正确率:1

运行时长:25.39

代码有详细中文介绍。

代码运行结果如下:








% 清除命令窗口、工作区数据、图形窗口、警告
clc;
clear;
close all;
warning off;
load('data.mat')	
	
data1=readtable('分类数据集.xlsx'); %读取数据 	
data=table2array(data1(:,2:end));	
A_data1=data;	
data_select=A_data1;	
%% 数据划分	
x_feature_label=data_select(:,1:end-1);    %x特征	
y_feature_label=data_select(:,end);          %y标签	
index_label1=randperm(size(x_feature_label,1));	
index_label=G_out_data.spilt_label_data;  % 数据索引	
if isempty(index_label)	
   index_label=index_label1;	
 end	
spilt_ri=G_out_data.spilt_rio;  %划分比例 训练集:验证集:测试集	
train_num=round(spilt_ri(1)/(sum(spilt_ri))*size(x_feature_label,1));          %训练集个数	
vaild_num=round((spilt_ri(1)+spilt_ri(2))/(sum(spilt_ri))*size(x_feature_label,1)); %验证集个数	
 %训练集,验证集,测试集	
train_x_feature_label=x_feature_label(index_label(1:train_num),:);	
train_y_feature_label=y_feature_label(index_label(1:train_num),:);	
vaild_x_feature_label=x_feature_label(index_label(train_num+1:vaild_num),:);	
vaild_y_feature_label=y_feature_label(index_label(train_num+1:vaild_num),:);	
test_x_feature_label=x_feature_label(index_label(vaild_num+1:end),:);	
test_y_feature_label=y_feature_label(index_label(vaild_num+1:end),:);	
%Zscore 标准化	
%训练集	
x_mu = mean(train_x_feature_label);  x_sig = std(train_x_feature_label); 	
train_x_feature_label_norm = (train_x_feature_label - x_mu) ./ x_sig;    % 训练数据标准化	
y_mu = mean(train_y_feature_label);  y_sig = std(train_y_feature_label); 	
train_y_feature_label_norm = (train_y_feature_label - y_mu) ./ y_sig;    % 训练数据标准化  	
%验证集	
vaild_x_feature_label_norm = (vaild_x_feature_label - x_mu) ./ x_sig;    %验证数据标准化	
vaild_y_feature_label_norm=(vaild_y_feature_label - y_mu) ./ y_sig;  %验证数据标准化	
%测试集	
test_x_feature_label_norm = (test_x_feature_label - x_mu) ./ x_sig;    % 测试数据标准化	
test_y_feature_label_norm = (test_y_feature_label - y_mu) ./ y_sig;    % 训练数据标准化  


付费28.8元可获得

评论 推荐Ta

暂时还没有评论


头像
桔子代码 无个人简介
关注
0 喜欢 0 关注 62 粉丝 68 作品

在您购买本平台付费作品前,请您认真阅读本声明内容。如果您对这份声明没有异议,则可以继续购买 >>>

  • 主页
  • 私信
登录或购买

贝叶斯优化LSTM分类预测(matlab代码)

作品简介

贝叶斯优化LSTM分类matlab代码

数据为Excel分类数据集数据。

数据集划分为训练集、验证集、测试集,比例为8:1:1

数据处理: 在数据加载后,对数据进行了划分,包括训练集、验证集和测试集,这有助于评估模型的泛化能力。

数据标准化: 对数据进行了 Zscore 标准化处理,使得数据的均值为 0,标准差为 1,有利于提高模型的收敛速度和性能。

参数设置:代码中设置了贝叶斯迭代次数 BO_iter,通过调整这个参数,可以控制贝叶斯优化算法的迭代次数,从而更好地优化模型的超参数。

结果展示: 在算法处理块结束后,展示了模型在训练集、验证集和测试集上的准确率,以及程序的运行时长。这有助于对模型的性能进行评估和比较。

输出的定量结果如下:

训练集正确率:0.99187

验证集正确率:0.9375

测试集正确率:1

运行时长:25.39

代码有详细中文介绍。

代码运行结果如下:








% 清除命令窗口、工作区数据、图形窗口、警告
clc;
clear;
close all;
warning off;
load('data.mat')	
	
data1=readtable('分类数据集.xlsx'); %读取数据 	
data=table2array(data1(:,2:end));	
A_data1=data;	
data_select=A_data1;	
%% 数据划分	
x_feature_label=data_select(:,1:end-1);    %x特征	
y_feature_label=data_select(:,end);          %y标签	
index_label1=randperm(size(x_feature_label,1));	
index_label=G_out_data.spilt_label_data;  % 数据索引	
if isempty(index_label)	
   index_label=index_label1;	
 end	
spilt_ri=G_out_data.spilt_rio;  %划分比例 训练集:验证集:测试集	
train_num=round(spilt_ri(1)/(sum(spilt_ri))*size(x_feature_label,1));          %训练集个数	
vaild_num=round((spilt_ri(1)+spilt_ri(2))/(sum(spilt_ri))*size(x_feature_label,1)); %验证集个数	
 %训练集,验证集,测试集	
train_x_feature_label=x_feature_label(index_label(1:train_num),:);	
train_y_feature_label=y_feature_label(index_label(1:train_num),:);	
vaild_x_feature_label=x_feature_label(index_label(train_num+1:vaild_num),:);	
vaild_y_feature_label=y_feature_label(index_label(train_num+1:vaild_num),:);	
test_x_feature_label=x_feature_label(index_label(vaild_num+1:end),:);	
test_y_feature_label=y_feature_label(index_label(vaild_num+1:end),:);	
%Zscore 标准化	
%训练集	
x_mu = mean(train_x_feature_label);  x_sig = std(train_x_feature_label); 	
train_x_feature_label_norm = (train_x_feature_label - x_mu) ./ x_sig;    % 训练数据标准化	
y_mu = mean(train_y_feature_label);  y_sig = std(train_y_feature_label); 	
train_y_feature_label_norm = (train_y_feature_label - y_mu) ./ y_sig;    % 训练数据标准化  	
%验证集	
vaild_x_feature_label_norm = (vaild_x_feature_label - x_mu) ./ x_sig;    %验证数据标准化	
vaild_y_feature_label_norm=(vaild_y_feature_label - y_mu) ./ y_sig;  %验证数据标准化	
%测试集	
test_x_feature_label_norm = (test_x_feature_label - x_mu) ./ x_sig;    % 测试数据标准化	
test_y_feature_label_norm = (test_y_feature_label - y_mu) ./ y_sig;    % 训练数据标准化  


创作时间: