Como dividir/particionar um conjunto de dados em conjuntos de dados de treinamento e teste para, por exemplo, validação cruzada?

| | | | | | | | | |

Qual é uma boa maneira de dividir um array NumPy aleatoriamente em conjunto de dados de treinamento e teste/validação? Algo semelhante às funções cvpartition ou crossvalind no Matlab.