5000 x 3027 (CIFAR-10 veri kümesi) boyutlarında matris formunda bir eğitim veri kümem var. Numpy'de array_split kullanarak, onu 5 farklı parçaya bölüştüm ve çapraz doğrulama katlaması olarak parçalardan sadece birini seçmek istiyorum. Ancak benim sorunum, XTrain [[Indexes]] gibi bir şeyi kullandığım zaman gelir. Burada indeksler [0,1,2,3] gibi bir dizidir, çünkü bu bana 4 x 1000 x 3027 boyutlarında bir 3D tensor verir. bir matris. 4000 x 3027 matrisini elde etmek için "4 x 1000" yi 4000 sıraya nasıl bölerim?numpy: K katlama çapraz doğrulaması için np dizisindeki belirli dizinleri nasıl seçebilirim?
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
Eğer sorun yaşadığınız kodunu paylaşabilir miyim? – dmlittle
Kod eklendi, XTrain = X_train_folds [indeksler] şekli 4 x 1000 x 3027, ancak 4000 x 3027 olmasını umuyordum – kwotsin