首页 > 解决方案 > 如何将一个热编码值反转为标签?

问题描述

我正在研究简单的数据集来检测类名为“R”和“M”的岩石或地雷。我有一个热编码的 R 到 1 和 M 到 0。现在我想修改它。

我尝试了很多方法,但找不到将 1 转换回 R 和 0 转换回 M 的方法

import numpy as np
import pandas as pd
import keras
from sklearn.preprocessing import LabelEncoder

df=pd.read_csv('D:\\Datasets\\node-fussy-examples-master\\node-fussy- 
examples-master\\sonar\\training.csv')
ds=df.values
x_train=df[df.columns[0:60]].values
y_train=df[df.columns[60]]

encoder = LabelEncoder()
encoder.fit(y_train)
encoded_Y = encoder.transform(y_train)

我希望 1 是 R 而 0 是 M

标签: kerasone-hot-encoding

解决方案


您可以使用inverse_transform方法:

from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit([1, 2, 2, 6])
print(le.transform([1, 1, 2, 6]))
print(le.inverse_transform([0, 0, 1, 2]))

如果您需要在 Tensorflow 中做同样的事情,请查看此线程


推荐阅读