-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