Data Division of Neural Network training?

5 views (last 30 days)
I have a 2000000 by 7 matrix where the first 6 volumns are inputs and the last column is the output. So I am training a neural network to fit the 7th column as a function of the first 6 columns:
Input=Input;
Output=Output;
ANN=fitnet([25],'trainbr');
ANN=train(ANN,Input,Output);
My problem is the data division. Since the data is divided into three section: validation, test, and training. I want to make sure that the last 100 rows (index: 1999900 to 2000000) are included in the training set, and the rest of the data (rows) are randomized into the three sections. "dividerand" does what I want but unfortunately, it does not gurantee that the last 100 rows are in the training set. Do you guys have any solutions?
  4 Comments
NAVNEET NAYAN
NAVNEET NAYAN on 18 Aug 2023
Edited: NAVNEET NAYAN on 18 Aug 2023
What I am saying is remove the last 100 rows and use "dividerand" on the rest of the data.
Ali Almakhmari
Ali Almakhmari on 18 Aug 2023
ahhh...how will this ensure that the 100 rows are in the training section?

Sign in to comment.

Accepted Answer

Shreeya
Shreeya on 22 Aug 2023
Hello Ali Almakhmari
To ensure that the last 100 rows are included in the training set, you can split the data into two arrays, the first set having data from index 0 to 1999900 and the second one should contain data from 1999900 to 2000000. Then, you can use the “dividerand" function to split the first array into training, testing and validation datasets.
After that you can concatenate the training dataset obtained from splitting the first array with the last 100 rows to create the desired input features dataset.
Hope this helps!

More Answers (0)

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!