Mam zestaw danych treningowych w formie matrycy o wymiarach 5000 x 3027 (zestaw danych CIFAR-10). Używając array_split w numpy, podzieliłem go na 5 różnych części i chcę wybrać tylko jedną z części jako fałd walidacyjny krzyżowy. Jednak mój problem pojawia się, gdy używam czegoś takiego jak XTrain [[Indexes]], gdzie indeksy są tablicą jak [0,1,2,3], ponieważ dzięki temu otrzymuję tensor 3D o wymiarach 4 x 1000 x 3027, a nie macierz. Jak zwinąć "4 x 1000" w 4000 rzędów, aby uzyskać macierz 4000 x 3027?numpy: Jak mogę wybrać określone indeksy w tablicy np dla k-krotności sprawdzania poprawności?
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
można udostępnić kod masz kłopoty z? – dmlittle
Dodano kod, kształt XTrain = X_train_folds [indeksy] to 4 x 1000 x 3027, ale mam nadzieję, że uda się go uzyskać 4000 x 3027 – kwotsin