¿Cómo dividir/particionar un conjunto de datos en conjuntos de datos de entrenamiento y prueba para, por ejemplo, validación cruzada?

| | | | | | | | | |

¿Cuál es una buena forma de dividir aleatoriamente una matriz NumPy en un conjunto de datos de entrenamiento y prueba/validación? Algo similar a las funciones cvpartition o crossvalind en Matlab.