2016-03-05 84 views
3

我正在进行cross_validation以选择超参数,并且将训练数据分成k个褶皱。以一个文件夹作为验证数据,其他人作为训练数据(实际上我会为此做k次)。numpy.array_split的高效反操作是什么?

X_train_folds = numpy.array_split(X_train,k) 

X_tran_folds将是这样的:[subarray1,subarray2,.....]

子阵列具有相同的列数。

但如何合并k-1子排列成一个?

+4

['numpy.concatenate()'](https://docs.scipy.org/doc/numpy-1.10.0/reference /generated/numpy.concatenate.html)? –

+0

@pp_你是对的!我已经解决了! 我觉得'delete' +('concatenate'或'stack'或'vstack')是一个正确的方法! –

+0

对于这个愚蠢的问题感到抱歉,我刚开始使用python进行编程。 –

回答

1

可以使用numpy.concatenate()加入阵列序列:

>>> import numpy as np 
>>> a = np.array([0, 1]) 
>>> b = np.array([2, 3]) 
>>> np.concatenate((a, b)) 
array([0, 1, 2, 3])