MultiLabelBinarizer逆变换

时间:2019-02-12 09:13:00

标签: python keras deep-learning one-hot-encoding

我正在使用MultiLabelBinarizer处理多标签分类问题,以对标签进行编码。我根据https://scikit-learn.org/stable/modules/multiclass.html中给出的示例尝试了编码和解码过程。问题在于,在逆变换中,缺少重复的类。为了清楚起见,请考虑一个包含五个类别和四个样本的多标签分类问题的示例。

label = np.array([[2, 3, 4,2,0], [3,1,2,4,2], [0, 1, 3,0,1], [0, 1, 2, 3, 4]])
mlb = MultiLabelBinarizer()
y = mlb.fit_transform(label)`
label_ = mlb.inverse_transform(y)
print(label_)
> [(0, 2, 3, 4), (1, 2, 3, 4), (0, 1, 3), (0, 1, 2, 3, 4)]

请注意,类别编号2在第一个和第二个样本中出现了两次,而类别编号1在第三个样本中出现了两次。但是在解码版本中,它们只出现一次。我猜模型会预测一次特定的类标签,而忽略是否重复。但是,如果在上面的示例中我们想要labellabel_之间的一对一映射怎么办?有什么方法可以使预测标签的形状等于真实标签?对此表示任何帮助,我们深表感谢。

0 个答案:

没有答案