Borrar filtros
Borrar filtros

randomly divide a matrix

8 visualizaciones (últimos 30 días)
baran
baran el 21 de Mayo de 2017
Comentada: Star Strider el 6 de Jun. de 2021
hi, i have a 16435*25 matrix that name is input, i want to randomly divided it in 2 parts: one for train and another for validate data, that 70% of its rows randomly selected as train matrix (i.e 11504*25 matrix) and 30% of its rows randomly selected as validate matrix (i.e 4930*25), how can i do this? thanks a lot

Respuesta aceptada

Star Strider
Star Strider el 21 de Mayo de 2017
For your matrix:
row_idx = randperm(16435, 11504)';
To illustrate:
example = randperm(10, 7)'
example =
5
8
2
4
7
3
10
  4 comentarios
Onurcan BAL
Onurcan BAL el 6 de Jun. de 2021
Thanks for both question and this explanation!
Star Strider
Star Strider el 6 de Jun. de 2021
My pleasure!
(A Vote would be appreciated!)
.

Iniciar sesión para comentar.

Más respuestas (1)

MathReallyWorks
MathReallyWorks el 21 de Mayo de 2017
Editada: MathReallyWorks el 21 de Mayo de 2017
Hello Dear,
Use this code. I've generated a random matrix of the same order that you want. I have randomized all the rows of matrix and then I'm selecting first 11504 rows for training and rest for validation. I hope it will be helpful.
orderedArray = rand(16435,25); % Random Data %You can use your data here
shuffledArray = orderedArray(randperm(size(orderedArray,1)),:); %Randomizing the rows of matrix
t=zeros(11504,25); % Size of Train Data
v=zeros(4930,25); % Size of Validate Data
for i=1:11504
t(i,:) = shuffledArray(i,:);
end
j=1;
for i=11541:16435
v(j,:) = shuffledArray(i,:);
j=j+1;
end
Type whos t and whos v on command window, you will get to know the dimensions of train and validate data matrices.

Categorías

Más información sobre Statistics and Machine Learning Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by