[英]How to specify multiple labels for a given data point in keras?
我正在尝试使用顺序 keras 模型解决分类问题。
在model.fit
, model.fit
需要两个numpy
数组来训练data
, labels
。 如果数据的每一行都有一个对应的标签,这将正常工作。
但是,对于我的使用,对于给定的数据点,我可以进行不止一种分类。
这可以在keras中处理吗? 如果是这样,我的数据和标签 numpy 数组的格式应该是什么?
示例输入可能如下所示:
data[0] = ['What is the colour of the shirt?']
#This text is converted to a vector using a 300 dimension GloVe embedding layer and then processed.
label[0] = ['Red','Orange','Brown']
我要求我的模型进行训练,以便 3 个类中的任何一个都可以正确处理所提出的给定问题。
任何帮助都会很棒。
你可以用 MultiLabelBinarizer 做到这一点:
from sklearn.preprocessing import MultiLabelBinarizer
lb = MultiLabelBinarizer()
label = lb.fit_transform(label)
您可以将标签传递给具有“categorical_crossentropy”损失的拟合函数。
如果你想用 keras 做到这一点:
from keras.utils import to_categorical
import numpy as np
unique_labels, new_labels = np.unique(label, return_inverse=True)
to_categorical(new_labels, num_classes=None)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.