如何将MNIST数字分类到每个类别标签中?

时间:2018-10-03 01:59:07

标签: python keras mnist

我正在使用(x_train, y_train), (x_test, y_test) = mnist.load_data()从Keras导入mnist数据集,而我想要做的是按每个样本的对应数字对其进行排序。我在想一些简单的方法来做到这一点,但我似乎找不到数据的任何标签属性。有任何简单的方法吗?

1 个答案:

答案 0 :(得分:0)

y_trainy_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...

请注意,在这种情况下,您无需对数据进行预排序。