在Python中连接两个不同大小的列表

2024-06-26 02:19:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写10倍交叉验证的代码。在

也就是说,将数据分成10个大小相等的数据大块。然后呢,对于每10次迭代,取出第i个块,并将剩余的90%用于测试数据。在

对于第二次迭代,我需要将前10%和最后80%结合起来。对于第三次迭代,我将前20%和最后70%结合起来。等等

(所以第一次迭代,前10%被删除,第二次迭代,第二次10%被删除,等等)

我的数据由1000个项目组成,每个项目都是一个由70个类型值组成的数组np浮动在

10个验证中的每一个都将调用此循环,i=0,i=1….i=9:

def get_training(input_array, i):
    training = (input_array[:i*subset_size] + input_array[(i+1)*subset_size:])
    return training

它以前起作用了,但现在我发现了错误:

^{pr2}$

我想这可能是因为np.浮动数据类型;它以前使用另一个数据类型。在

谢谢


Tags: 数据项目代码类型inputsizenptraining
2条回答

不要重新发明轮子。您可以在sklearn.cross_validation模块中使用函数^{}^{}。在

参见文档:

K-Folds cross validation iterator.

Provides train/test indices to split data in train test sets. Split dataset into k consecutive folds (without shuffling).

Each fold is then used a validation set once while the k - 1 remaining fold form the training set.

尝试:

training = np.concatenate((input_array[:i*subset_size], input_array[(i+1)*subset_size:]))

(对于numpy数组,+运算符将值相加,假设它们的形状相同:)

^{pr2}$

相关问题 更多 >