Multi-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network – Bidirectional Long Short-Term Memory Network) in Matlab

Click the “Read More” button at the bottom or reply with the keyword “code” in the backend

to download the complete program + data + instruction manual

1. Introduction to the Program and Algorithm:

Basic Content:

  • This code is compiled on the Matlab platform, combining Convolutional Neural Network (CNN) with Bidirectional Long Short-Term Memory Neural Network (Bi-LSTM) for data regression prediction.

  • The training data includes 12 features and 1 response value, predicting 1 output value from 12 input values (multivariate, multi-input classification prediction).

  • Normalization of training data enhances the network’s generalization ability.

  • Features of the data are extracted through the CNN neural network, which are then input into the LSTM for regression prediction, improving overall network performance.

  • Train the CNN-Bi_LSTM network with customizable parameters for easy modification.

  • During the iterative computation process, an optimization progress bar is automatically displayed to monitor the program’s running progress in real-time.

  • Automatically outputs various error evaluation metrics and a large number of experimental effect images.

Highlights and Advantages:

  • Detailed comments, with almost every key line explained, suitable for beginners to start learning.

  • Simply run the Main function to see all results, making it user-friendly.

  • Good programming habits, standardized main program, clear logic, and easy to read the code.

  • All data is input in Excel format, making data replacement easy, suitable for lazy users.

  • Rich, detailed, and beautiful output images for intuitive viewing of running effects.

  • Includes a detailed instruction document (see image below), covering algorithm principles and usage instructions.

Multi-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network - Bidirectional Long Short-Term Memory Network) in Matlab

2. Actual Running Effects:

Multi-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network - Bidirectional Long Short-Term Memory Network) in MatlabMulti-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network - Bidirectional Long Short-Term Memory Network) in MatlabMulti-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network - Bidirectional Long Short-Term Memory Network) in MatlabMulti-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network - Bidirectional Long Short-Term Memory Network) in MatlabMulti-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network - Bidirectional Long Short-Term Memory Network) in MatlabMulti-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network - Bidirectional Long Short-Term Memory Network) in MatlabMulti-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network - Bidirectional Long Short-Term Memory Network) in Matlab

3. Part of the Program:

clc;clear;warning off;%% Import DataData = table2array(readtable("dataset.xlsx"));% This example dataset contains:% 1. A total of 357 samples (each row represents a sample)% 2. Each sample has 12 feature values (the first 12 columns represent the features, i.e., input variables)% 3. Each sample has 1 response value (the 13th column represents the response value, i.e., the predicted variable)%% Split Training and Testing SetsTemp = randperm(size(Data,1)); % Shuffle the order of the data to enhance model generalization.InPut_num = 1:1:12; % Column numbers of input features, the first 12 columns in the data table are input values, so set to 1:1:12, if the first 5 are inputs, set to 1:1:5OutPut_num = 13; % Output response column number, this example has only one response value, which is the 13th column in the data table, if there are multiple response values, refer to the above data format set to x:1:y% Select the first 327 samples as the training set and the last 30 samples as the testing set, i.e., (1:327) and (328:end)Train_InPut = Data(Temp(1:327),InPut_num); % Training inputTrain_OutPut = Data(Temp(1:327),OutPut_num); % Training outputTest_InPut = Data(Temp(328:end),InPut_num); % Testing inputTest_OutPut = Data(Temp(328:end),OutPut_num); % Testing output%% Data Normalization% Normalize input feature data to between 0-1[~, Ps] = mapminmax([Train_InPut;Test_InPut]',0,1); Train_InPut = mapminmax('apply',Train_InPut',Ps);Test_InPut = mapminmax('apply',Test_InPut',Ps);

4. Complete Program Download:

Multi-Input Classification Based on CNN-Bi_LSTM (Convolutional Neural Network - Bidirectional Long Short-Term Memory Network) in Matlab

Leave a Comment