How do I create a large binary target matrix?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
ampaul
il 14 Giu 2017
Commentato: Walter Roberson
il 15 Giu 2017
Hello. I have a dataset of 300 samples (with 60 observations each) that are divided into 6 even categories (50 samples each)
For neural networking purposes, I would like to create a target matrix such that:
0-50 = category 1
51-50 = category 2
.
.
.
251-300 = category 6
I plan to assign these values by creating a 6x300 matrix. and placing a 1 in row 1 for 0-50, a 1 in row 2 for 51-100 and so on. I believe I may be able to do this by manipulating the eye function, but I have not seen examples of this. I know there must be an easier way to do this than by logging the numbers manually... any ideas? thanks
0 Commenti
Risposta accettata
Image Analyst
il 15 Giu 2017
Seems kind of weird, but going precisely by your directions, 6 lines of code should do it - one line of code for the 6 groups. Can't get much simpler or easier than that. See lines of code below, following your directions which are comments:
% creating a 6x300 matrix.
m = rand(6, 300);
% placing a 1 in row 1 for 0-50,
m(1, 1:50) = 1;
% a 1 in row 2 for 51-100,
m(2, 51:100) = 1;
% and so on
m(3, 101:150) = 1;
m(4, 151:200) = 1;
m(5, 201:250) = 1;
m(6, 251:300) = 1;
The only difference is I started at column 1 instead of 0 because there is no column 0.
Più risposte (2)
Greg Heath
il 15 Giu 2017
The only way to use eye is
target = repmat(eye(6),50)
Otherwise start with
target = zeros(6,300)
then insert ones(1,50) into the correct locations.
Hope this helps.
Thank you for formally accepting my answer
Greg
0 Commenti
Vedere anche
Categorie
Scopri di più su Define Shallow Neural Network Architectures in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!