sklearn使用LabelEncoder获取标签与其对应的编码映射

背景需求简述

LabelEncoder可以给类别数据打标签,平时比赛使用不需要思考业务解释性,只看精度即可。
但是在实际中,有的时候还需要获取对应的编码映射,知道每个标签到底对应哪一个值。
所以记录以下两个函数方便后续复用
第一是获取编码映射的函数:

    def get_integer_mapping(le):
    
        res = {}
    
        for cl in le.classes_:
    
            res.update({cl:le.transform([cl])[0]})
    
        return res

代码如下:

对于批量编码,需要循环调用:

from sklearn.preprocessing import LabelEncoder

    for feat in obj_name:
    
        lbl = LabelEncoder()
    
        lbl.fit(data[feat])
    
        data[feat] = lbl.transform(data[feat])
    
        print(get_integer_mapping(lbl))

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
寺大夫的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容