Как отсортировать цифры MNIST в каждой метке класса? - PullRequest
0 голосов
/ 03 октября 2018

Я импортирую набор данных mnist из Keras, используя (x_train, y_train), (x_test, y_test) = mnist.load_data(), и я хочу отсортировать каждый образец по его соответствующей цифре.Я представляю какой-то тривиальный способ сделать это, но я не могу найти какой-либо атрибут метки данных.Есть ли простой способ сделать это?

1 Ответ

0 голосов
/ 03 октября 2018

y_train и y_test - векторы, содержащие метку, связанную с каждым изображением в x_train и x_test соответственно.Это скажет вам цифру, показанную на каждом изображении.Так что просто получите индексы, которые будут сортировать эти векторы, используя np.argsort, а затем используйте эти индексы, чтобы переупорядочить соответствующую матрицу.

import numpy as np

idx = np.argsort(y_train)
x_train_sorted = x_train[idx]
y_train_sorted = y_train[idx]

Поэтому, если вы хотите, чтобы все изображения были для определенной цифры, вы можете просто получить их, проиндексировав соответствующую матрицу

x_train_zeros = x_train[y_train == 0]
x_train_ones = x_train[y_train == 1]
# and so on...

Обратите внимание, что в этом случае вам не нужнопредварительно отсортировать данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...