繁体   English   中英

如何为keras中的给定数据点指定多个标签?

[英]How to specify multiple labels for a given data point in keras?

我正在尝试使用顺序 keras 模型解决分类问题。

model.fitmodel.fit需要两个numpy数组来训练datalabels 如果数据的每一行都有一个对应的标签,这将正常工作。

但是,对于我的使用,对于给定的数据点,我可以进行不止一种分类。

这可以在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM