【问题标题】:How to sort MNIST digits into each class label?如何将 MNIST 数字排序到每个类标签中?
【发布时间】:2018-10-03 18:38:31
【问题描述】:

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

【问题讨论】:

    标签: python keras mnist


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您提供非常简洁和有用的解决方案!像魅力一样工作:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多