Matlab - Seleccion de datos aleatorios

 
Vista:
sin imagen de perfil
Val: 100
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Seleccion de datos aleatorios

Publicado por Dinibel (53 intervenciones) el 27/10/2017 16:12:48
HOLA

Tengo un arreglo de datos de dimension 623x5, quisiera dividir estas 623 filas en dos conjustos de datos seleccionados de manera aleatoria, con 50% para cada conjunto nuevo:

trn_set 623 x 5

NUEVOS: a1 311 x 5 y a2 312 x 5

Arme un codigo que no me funciona del todo bien, pero no se como saber donde esta el error, alguno me podra ayudar?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%ARCHIVOS ALEATORIOS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
out2=randperm(623)'; %Genera 623 numeros aleatoriamente

for i=1:311
    j=out2(i);
    a1(j,:)=trn_set(j,:); %Selecciona loas filas aleatorias  
end

for k=312:623
    l=out2(k);
    b(l,:)=trn_set(l,:); %Selecciona loas filas aleatorias
    a2=sortrows(b); %Ordena la seleccion anterior
end

entrenamiento=a1(1:311,:); %Matriz para entrenar ANFIS (50% de datos)
evaluacion=a2(1:312,:); %Matriz para evaluar archivo.fis (50% de datos)


Mis datos SON:
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Seleccion de datos aleatorios

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 28/10/2017 01:49:39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clear all
 trn_set=round(20*rand(7,5))
 n=size(trn_set,1);
 m=n;
i=1;
while i<=n
    seleccion=randi([1,n],1);
    trn_set1(i,:)=trn_set(seleccion,:);
    trn_set(seleccion,:)=[];
    n=size(trn_set,1);
    if i==round(m/2)
        break;
    end
    i=i+1;
end
 trn_set1
 trn_set2= trn_set

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>> seleccion_aleatoria
trn_set =
     9     6     7    16    20
    17     3    18    20    11
    13     7     6    17    15
     7    15    12     2    17
     7    14     6     7     3
     5    14     3     5    18
    19     0     8     6     2
trn_set1 =
     5    14     3     5    18
     7    14     6     7     3
     7    15    12     2    17
     9     6     7    16    20
trn_set2 =
    17     3    18    20    11
    13     7     6    17    15
    19     0     8     6     2


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar