首页 > 解决方案 > 将数字输出标签转换为 keras 中的分类向量

问题描述

我正在 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 的参数给出错误消息)

标签: pythonvectorkerasdeep-learningcategorical-data

解决方案


if your labels are from 1 to 14, try this simple trick:

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

推荐阅读