-1
我试图使用k-fold cross validation
为此我需要与像下面执行的培训set.I做相应处理:ValueError异常:操作数无法与numpy的不同形状的广播一起?
num_folds = 5
subset_size = num_training/num_folds
validation_accuracies = []
for i in range(num_folds):
Xcross_valid_set = X_train[i*subset_size:][:subset_size].shape
# print X_train[:i*subset_size].shape,X_train[(i+1)*subset_size:]
Xtrain_set = X_train[:i*subset_size] + X_train[(i+1)*subset_size:]
#Xtrain_set=np.concatenate(X_train[:i*subset_size] , X_train[(i+1)*subset_size:])
Ycross_valid_set=y_train[i*subset_size:][:subset_size]
Ytrain_set=y_train[:i*subset_size]+y_train[(i+1)*subset_size:]
的问题是X_train[:i*subset_size]
该形状是(0,3072)和X_train[(i+1)*subset_size:]
是在i=0
的情况下。我曾尝试使用numpy.concatenate但没有工作(40000,3072)。
结果形状将是(40000,3072)此处作为第一项给出0 row.So如果第一术语得到(10,3072)和第二项给出(30,3072),则结果形状将(40 ,3072)即40行。我怎样才能将两个不同的形状合并成一个训练集?
只应索引与一组括号的数组:'X_train [I * subset_size:subset_size]'。你打算用'+'做什么?如果添加numpy的阵列,它增加了他们的价值观,它不将它们连接起来(像列表)。请阅读:http://wiki.scipy.org/Tentative_NumPy_Tutorial – askewchan