Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scikit learn 如何在LabelBinarizer sklearn中找到经过一次热编码后的类标签_Scikit Learn_Data Mining_One Hot Encoding - Fatal编程技术网

Scikit learn 如何在LabelBinarizer sklearn中找到经过一次热编码后的类标签

Scikit learn 如何在LabelBinarizer sklearn中找到经过一次热编码后的类标签,scikit-learn,data-mining,one-hot-encoding,Scikit Learn,Data Mining,One Hot Encoding,我正在研究用于图像分类的cifar数据集。其中我使用了一个热编码类标签,如下所示: lists = ['frog', 'truck', 'deer', 'automobile', 'bird', 'horse', 'ship', 'cat', 'dog', 'airplane'] from sklearn.preprocessing import LabelBinarizer label_binarizer = LabelBinarizer() label_binarize

我正在研究用于图像分类的cifar数据集。其中我使用了一个热编码类标签,如下所示:

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] 
这意味着从列表中发货还是其他什么?如果还有什么事,谁能帮我上这门课


据我所知,我在火车标签列表中的第一个元素是青蛙,不是船。谢谢。

它们可能没有按照您的意愿订购。您可以构建映射表(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有一个逆_变换函数,可用于从一个热编码值返回原始值。 检查

顺便说一下,这些值将按字母顺序存储在LabelBinarizer中

例如:

label_binarizer.inverse_transform([y_train[0]])
Output:  'frog'