Tôi có tập dữ liệu huấn luyện ở dạng ma trận có kích thước 5000 x 3027 (bộ dữ liệu CIFAR-10). Bằng cách sử dụng mảng_split ở dạng gumpy, tôi đã phân chia nó thành 5 phần khác nhau và tôi muốn chỉ chọn một trong các phần như lần xác thực chéo. Tuy nhiên, vấn đề của tôi xuất hiện khi tôi sử dụng thứ gì đó như XTrain [[Indexes]] trong đó các chỉ mục là một mảng như [0,1,2,3], bởi vì việc này mang lại cho tôi một kích thước 3D có kích thước 4 x 1000 x 3027 và không một ma trận. Làm cách nào để thu gọn "4 x 1000" thành 4000 hàng, để có ma trận 4000 x 3027?numpy: Làm thế nào tôi có thể chọn các chỉ mục cụ thể trong một mảng np để xác thực chéo k-fold?
for fold in range(len(X_train_folds)):
indexes = np.delete(np.arange(len(X_train_folds)), fold)
XTrain = X_train_folds[indexes]
X_cv = X_train_folds[fold]
yTrain = y_train_folds[indexes]
y_cv = y_train_folds[fold]
classifier.train(XTrain, yTrain)
dists = classifier.compute_distances_no_loops(X_cv)
y_test_pred = classifier.predict_labels(dists, k)
num_correct = np.sum(y_test_pred == y_test)
accuracy = float(num_correct/num_test)
k_to_accuracy[k] = accuracy
Bạn có thể chia sẻ mã bạn đang gặp rắc rối với? – dmlittle
Nhập mã, hình dạng của XTrain = X_train_folds [chỉ mục] là 4 x 1000 x 3027, nhưng tôi hy vọng sẽ làm cho nó trở thành 4000 x 3027 – kwotsin