参考:

https://blog.csdn.net/weixin_45875105/article/details/107818766  python sklearn 编码(one-hot,标签编码)

https://www.cnblogs.com/sench/p/10134094.html  sklearn.preprocessing.LabelEncoder的使用

https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html  官方解释

 

1. 准备好数据,使用LabelEncoder对数据集进行编码

  • 方法1:fit、transform

        enc=preprocessing.LabelEncoder()   #获取一个LabelEncoder
        enc=enc.fit(['小猫','小狗','兔子'])         #训练LabelEncoder
        data=enc.transform(data)                  #使用训练好的LabelEncoder对原数据进行编码

  • 方法2:fit_transform

        enc=preprocessing.LabelEncoder()   #获取一个LabelEncoder
        data=enc.fit_transform(data) 

  • 代码示例:
from sklearn import preprocessing

data=['小猫','小猫','小狗','小狗','兔子','兔子']  #准备好数据

#方法1:
enc=preprocessing.LabelEncoder()   #获取一个LabelEncoder
enc=enc.fit(['小猫','小狗','兔子'])  #训练LabelEncoder
data=enc.transform(data)       #使用训练好的LabelEncoder对原数据进行编码

#方法2:
#enc=preprocessing.LabelEncoder()   #获取一个LabelEncoder
#data=enc.fit_transform(data) 


print(data)    #输出编码后的数据

输出:[2 2 1 1 0 0]

根据结果可以看到, LabelEncoder将:小猫编码成2,小狗编码成2,兔子编码成0

 

2. 根据编码后的类别,反向推导出编码前对应的原始标签 

方法:inverse_transform

#根据编码后的类别,反向推导出编码前对应的原始标签
print(enc.inverse_transform([0,1,2]))


输出:['兔子' '小狗' '小猫']

根据输出结果可以看到,0对应兔子,1对应小狗,2对应小猫

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐