将数字输出标签转换为keras中的分类向量
converting numerical output labels to categorical vectors in keras
我正在 Keras 中创建一个深度学习多class化模型,我已经将输出标签训练集 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 的向量,以避免在训练模型时造成额外损失。有没有一种简单的方法可以避免使用零作为潜在输出class?
(num_classes = 14
作为to_categorical的参数给出错误信息)
如果您的标签是从 1 到 14,请尝试这个简单的技巧:
y_train = to_categorical(np.asarray(y_train)-1)
我正在 Keras 中创建一个深度学习多class化模型,我已经将输出标签训练集 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 的向量,以避免在训练模型时造成额外损失。有没有一种简单的方法可以避免使用零作为潜在输出class?
(num_classes = 14
作为to_categorical的参数给出错误信息)
如果您的标签是从 1 到 14,请尝试这个简单的技巧:
y_train = to_categorical(np.asarray(y_train)-1)