如何将分类标签转换为连续/数字标签



我是Tensorflow的新手,我需要将我的标签从分类转换为数字,因为在稍后的代码中,我将使用线性回归模型进行训练,该模型期望标签上有数字。

我的CSV文件如下(DDD列是标签(:

AAA,BBB,CCC,DDD
3,2,A,N
4,2,B,N
5,3,A,N
3,3,A,S
3,3,A,N

我的导入数据集代码如下:

dataset = pd.read_csv("dataset.csv")
train, eval = train_test_split(dataset,test_size=0.2,shuffle=False)
label_train = train.pop("DDD")

那么,我如何迭代label_train来改变所有";N〃;至";0";(数字(和所有";S〃;至";1〃;(数字(?有tensorflow函数可以做到这一点吗?

注:

我尝试了下面的代码,但它一直显示错误Name: DDD, dtype: object /usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:30: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy

for chave1,valor1 in enumerate(label_train):
if label_train[chave1] == "N":
label_train[chave1] = "0"
elif label_train[chave1] == "S":
label_train[chave1] = "1"
else:
print("Error HJ34.")

如果label_train的类型是ndarray矩阵:

idx = label_train=='N'
label_train[idx]=0

最新更新