-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_train_validation_set_maker.m
41 lines (37 loc) · 2.03 KB
/
test_train_validation_set_maker.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function [test_Matrix, train_Matrix, valid_Matrix, test_label_vector, train_label_vector, valid_label_vector] = test_train_validation_set_maker(dataArray_matrix, labels_vector, train_frequency, test_frequency)
%%% This code is will generated the testing, training and validation set from
%%% the data from the total input data. This function is particularly slow
%%% and I am sure there are better and faster ways to eliminate the use of
%%% the for loop and just vectorize the whole process. But, due to lack of
%%% time, I am keeping it in this way for the time being.
%%% ***********************************************************************
%%% NOTE TO SELF: VECTORIZE THE PROCESS
%%% ***********************************************************************
num_data = size(dataArray_matrix,1);
data_width = size(dataArray_matrix,2);
num_train = uint32(train_frequency * num_data);
num_test = uint32(test_frequency * num_data);
num_valid = uint32(num_data - (num_train + num_test));
random_permutation = randperm(num_data);
train_Matrix = zeros(num_train, data_width); train_label_vector = zeros(num_train,1);
test_Matrix = zeros(num_test,data_width); test_label_vector = zeros(num_test,1);
valid_Matrix = zeros(num_valid,data_width); valid_label_vector = zeros(num_valid,1);
for i=(1:num_train)
%i
train_Matrix(i,:) = dataArray_matrix(random_permutation(i),:);
train_label_vector(i) = labels_vector(random_permutation(i));
end
for i=(num_train+1:num_train+num_test)
j = i-num_train;
test_Matrix(j,:) = dataArray_matrix(random_permutation(i),:);
test_label_vector(j) = labels_vector(random_permutation(i));
end
for i=(num_train+num_test+1:uint32(num_data))
j = i-num_train+num_test;
valid_Matrix(j,:) = dataArray_matrix(random_permutation(i),:);
valid_label_vector(j) = labels_vector(random_permutation(i));
end
test_Matrix = test_Matrix ./ 255;
train_Matrix = train_Matrix ./ 255;
valid_Matrix = valid_Matrix ./ 255;
end