如何在 LabelBinarizer sklearn 中的一次热编码后找到 class 标签
how to find the class labels after the one hot encoding in LabelBinarizer sklearn
我正在研究用于 class图像化的 cifar 数据集。我使用一种热编码 class 标签如下:
lists = ['frog',
'truck',
'deer',
'automobile',
'bird',
'horse',
'ship',
'cat',
'dog',
'airplane']
from sklearn.preprocessing import LabelBinarizer
label_binarizer = LabelBinarizer()
label_binarizer.fit(lists)
def one_hot_encode(x):
return label_binarizer.transform(x)
//here y_train is list of training labels
y_train = one_hot_encode(y_train)
print(y_train[0])
// output as [0 0 0 0 0 0 1 0 0 0]
这意味着从列表中发货还是其他?如果还有其他任何事情,任何人都可以帮助我获得 class。
据我所知,火车标签列表中的第一个元素是青蛙而不是船,谢谢。
它们可能不会如您所愿地订购。您可以构建一个映射 table(dict) 以供进一步使用,例如:
dict={}
for i in range(len(lists)):
dict[lists[i]]=y_train[i]
print("your mapping table:\n",dict)
print("\any value is then accessable by value:\n",'ship',dict['ship'])
LabelBinarizer 有一个 inverse_transform 函数,可用于从 one-hot 编码值中取回原始值。
检查 documentation here
顺便说一下,这些值将按字母顺序存储在 LabelBinarizer 中。
示例:
label_binarizer.inverse_transform([y_train[0]])
Output: 'frog'
我正在研究用于 class图像化的 cifar 数据集。我使用一种热编码 class 标签如下:
lists = ['frog',
'truck',
'deer',
'automobile',
'bird',
'horse',
'ship',
'cat',
'dog',
'airplane']
from sklearn.preprocessing import LabelBinarizer
label_binarizer = LabelBinarizer()
label_binarizer.fit(lists)
def one_hot_encode(x):
return label_binarizer.transform(x)
//here y_train is list of training labels
y_train = one_hot_encode(y_train)
print(y_train[0])
// output as [0 0 0 0 0 0 1 0 0 0]
这意味着从列表中发货还是其他?如果还有其他任何事情,任何人都可以帮助我获得 class。
据我所知,火车标签列表中的第一个元素是青蛙而不是船,谢谢。
它们可能不会如您所愿地订购。您可以构建一个映射 table(dict) 以供进一步使用,例如:
dict={}
for i in range(len(lists)):
dict[lists[i]]=y_train[i]
print("your mapping table:\n",dict)
print("\any value is then accessable by value:\n",'ship',dict['ship'])
LabelBinarizer 有一个 inverse_transform 函数,可用于从 one-hot 编码值中取回原始值。 检查 documentation here
顺便说一下,这些值将按字母顺序存储在 LabelBinarizer 中。
示例:
label_binarizer.inverse_transform([y_train[0]])
Output: 'frog'