【问题标题】:converting numerical output labels to categorical vectors in keras将数字输出标签转换为 keras 中的分类向量
【发布时间】:2020-05-11 22:29:13
【问题描述】:

我正在 Keras 中创建一个深度学习多分类模型,并且我已将我的 outputlabel 训练集 y_train 从 1 到 14 的数值转换为类似于 [0,0,1,0,0,0,0,0,0,0,0,0,0,0,0] => representing the number 2 的输出向量。这是我在python(keras)中使用的代码:

from keras.utils import to_categorical
y_train = to_categorical(y_train)

但是,因为它将这些输出标签转换为长度为 15 而不是 14 的向量,因为它也添加了零作为潜在输出。我原来的 numpy 数组 y_train 看起来像这样:[1,8,9,7,2,2,8...] 并且它应该被转换为长度为 14 而不是 15 的向量,以避免在训练模型时产生额外的损失。有没有一种简单的方法可以避免使用零作为潜在的输出类?

num_classes = 14作为to_categorical的参数给出错误信息)

【问题讨论】:

    标签: python vector keras deep-learning categorical-data


    【解决方案1】:

    如果你的标签是从 1 到 14,试试这个简单的技巧:

    y_train = to_categorical(np.asarray(y_train)-1)
    

    【讨论】:

    • 正是我想要的!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    • 2021-03-22
    • 1970-01-01
    • 2011-08-15
    • 2018-06-03
    • 2020-01-19
    • 2022-01-21
    相关资源
    最近更新 更多