在Python中以任意块分割矩阵(或数组)的优雅方法

时间:2015-12-02 21:48:15

标签: python numpy split

我正在对数据集进行k折交叉验证,为此我需要将数据拆分为两个,一个是火车组,另一个是测试集。

到目前为止,我已设法将数据集拆分为我的testset:

testindices = range(idx*testsize, (idx*testsize) + testsize) 
testset = dataset[testindices,0:numfeatures] 

其中idx是第k个折叠或换句话说是块起始索引。这很简单。我被困在如何获得另一部分,即火车组?它基本上是一套不同的操作,由此产生的列车组除了测试装置外都是如此?

1 个答案:

答案 0 :(得分:0)

我明白了,

folds = np.concatenate([range(idx+1,10), range(0,idx)])
trainindices = range(0,0)
for i in folds:
    trainindices = np.concatenate([trainindices, range(i*testsize, (i*testsize) + testsize)])


trainindices = map(int,trainindices)
#print trainindices