多标签分类:解码一个热向量

Posted

技术标签:

【中文标题】多标签分类:解码一个热向量【英文标题】:Multi-label classification: decoding one hot vector 【发布时间】:2019-03-31 18:32:16 【问题描述】:

我目前正在研究一个多标签分类问题,我正在尝试对水果图像进行分类。使用一种热编码转换类别后,我将如何在训练模型并希望恢复适当的类别后解码?

a = np.array(['a', 'b', 'c', 'a', 'b', 'c'])
b = pandas.get_dummies(a)

示例

X_train, X_test, y_train, y_test = train_test_split(df, b, test_size=0.20, random_state=42)

......

模型训练

from keras import models
from keras import layers

model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=(6,)))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(1, activation='lerelu'))

.....

预测

model.predict(X_test[0]) --->> result  ??????

【问题讨论】:

【参考方案1】:

如果我正确理解您的问题,那不就是:

test_predictions = model.predict(X_test)

【讨论】:

b = pandas.get_dummies(a) 返回一个位矩阵,我如何能够从给定候选人的预测中提取分类列名称?

以上是关于多标签分类:解码一个热向量的主要内容,如果未能解决你的问题,请参考以下文章

使用 TensorFlow 的多标签文本分类

24二分类多分类与多标签问题的区别

错误:分类指标无法处理多类多输出和多标签指标目标的混合

pytorch中序数多分类的损失函数

python使用sklearn中的MultiLabelBinarizer函数将多标签的分类变量进行独热编码(One-Hot Encode Features With Multiple Labels)

多标签分类的 sigmoid 非线性阈值