如何将 MNIST 数字分类到每个 class 标签中?
How to sort MNIST digits into each class label?
我正在使用 (x_train, y_train), (x_test, y_test) = mnist.load_data()
从 Keras 导入 mnist 数据集,我想做的是按每个样本的相应数字对每个样本进行排序。我正在想象一些简单的方法来做到这一点,但我似乎无法找到数据的任何标签属性。有什么简单的方法可以做到这一点?
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...
请注意,在这种情况下,您不需要对数据进行预排序。
我正在使用 (x_train, y_train), (x_test, y_test) = mnist.load_data()
从 Keras 导入 mnist 数据集,我想做的是按每个样本的相应数字对每个样本进行排序。我正在想象一些简单的方法来做到这一点,但我似乎无法找到数据的任何标签属性。有什么简单的方法可以做到这一点?
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...
请注意,在这种情况下,您不需要对数据进行预排序。