我已经训练了一个keras模型。在训练之前,我使用了skelarn的LabelBinarizer将每个图像的标签映射到概率向量。总共有120个labesl,因此每个概率向量具有120个值。
现在,当我使用模型进行预测时,我将获得概率向量。
如何将此向量映射到标签?我想我需要使用LabelBinarizer,因为它封装了标签的知识。但是我不确定该怎么做?
答案 0 :(得分:1)
假设我们有6个数据点和3个唯一的类(您的情况下有120个唯一的类)
"2510"
z4
看起来像这样
14
7
将了解哪些标签标记为l1,l2或l3。从上方我们看到,它将from sklearn import preprocessing
lb = preprocessing.LabelBinarizer()
Y = ["l1", "l2", "l3", "l3", "l2", "l2", "l1"]
Y_bin = lb.fit_transform(Y) # label binarizer will convert it to a 0/1's
print(Y_bin)
标记为Y_bin
,将array([[1, 0, 0],
[0, 1, 0],
[0, 0, 1],
[0, 0, 1],
[0, 1, 0],
[0, 1, 0],
[1, 0, 0]])
标记为LabelBinarizer
,将l1
标记为[1,0,0]
。这将反映在l2
的{{1}}属性中,该属性应为-[0,1,0]
l3
所以现在说您的2分输出是-
[0,0,1]
对于第一个点,模型选择了第一个标签,对于第二个点,模型选择了标签3
可以使用以下代码选择这些标签-
.classes_
这将给标签-
LabelBinarizer