2009-09-03 12 views
7

Tras algunas investigaciones me encontré con dos funciones en MATLAB para hacer la tarea:¿Dividir datos en conjuntos de datos de entrenamiento/prueba en MATLAB?

  • cvpartition función en el Statistics Toolbox
  • crossvalind función en el Bioinformática Caja de herramientas

Ahora estoy he usado el cvpartition para crear subconjuntos de validación cruzada n veces antes, junto con las clases Dataset/Nominal del Sta caja de herramientas tistics. Entonces, me pregunto cuáles son las diferencias entre los dos y los pros/contra de cada uno.

Respuesta

2

Ampliando @Mr Fooz's answer

Parecen ser bastante similar basada en los documentos oficiales de cvpartition y crossvalind, pero crossvalind se ve un poco más flexible (que permite la licencia M por arbitraria M, mientras que cvpartition sólo permite para dejar 1 fuera).

... no es verdad que siempre se puede simular un leave-M-out usando la validación cruzada kfold con un valor k apropiado (dividir datos en k veces, probar en uno, entrenar en todos los demás, y hacer esto para todos los pliegues y tomar promedio) ya que leave-one-out es un caso especial de kfold donde k = número de observaciones?

1

Parecen ser bastante similares según los documentos oficiales de cvpartition y crossvalind, pero crossvalind parece ligeramente más flexible (permite dejar M para arbitraria M, mientras que cvpartition solo permite dejar 1 fuera).

1

Sé que su pregunta no se refiere directamente a la caja de herramientas de la red neuronal, pero tal vez alguien más pueda encontrarla útil. Para obtener los datos de entrada de ANN separados para probar/validar/entrenar datos, use la variable 'net.divideFcn'.

net.divideFcn = 'divideind'; 

net.divideParam.trainInd=1:94; % The first 94 inputs are for training. 
net.divideParam.valInd=1:94; % The first 94 inputs are for validation. 
net.divideParam.testInd=95:100; % The last 5 inputs are for testing the network. 
2

Amro, esto no es directamente una respuesta a su pregunta cvpartition vs crossvalind, pero no es una contribución de The MathWorks intercambio de archivos llamado MulticlassGentleAdaboosting por el usuario Sebastián París, que incluye un buen conjunto de funciones para enumerar los índices de matriz de el cálculo de la formación, pruebas y validación conjuntos de las siguientes estrategias de muestreo y de validación cruzada:

  • Hold Out
  • Bootstrap
  • K validación cruzada
  • Dejar Un hacia fuera
  • estratificado Cruz Validación
  • equilibrado estratificado Cruz Validación
  • estratificado Extiende
  • estratificado BootStrap

Para más detalles, ver los archivos de demostración incluidos en el paquete, y más específicamente las funciones sampling.m y sampling_set.m.

+1

+1 útil, gracias por compartir – Amro

Cuestiones relacionadas