【问题标题】:get sklearn.LabelEncoder() mappings after fit_transform在 fit_transform 之后获取 sklearn.LabelEncoder() 映射
【发布时间】:2019-05-12 01:50:10
【问题描述】:

我正在尝试获取标签编码器的映射,以确定哪个代码为我的 df 中的一列获取了每个字符串。

这里是编码:

y[:]=LabelEncoder().fit_transform(y[:])

我想得到这样的输出:

A:1
B:2
C:3

感谢您的帮助!

【问题讨论】:

    标签: python python-3.x scikit-learn


    【解决方案1】:

    如果您希望以后能够使用映射或逆变换,则应避免进行内联初始化。

    data = ['A', 'A', 'B', 'C', 'B', 'B'] # `y`
    
    le = LabelEncoder()
    mapped = le.fit_transform(data)
    
    mapping = dict(zip(le.classes_, range(1, len(le.classes_)+1)))
    print(mapping)
    # {'A': 1, 'B': 2, 'C': 3}
    

    更好的是,如果您想反转编码,请使用inverse_transform

    print(le.inverse_transform(mapped))
    # ['A' 'A' 'B' 'C' 'B' 'B']
    

    【讨论】:

    • 感谢冷速!完美运行。
    猜你喜欢
    • 2021-09-12
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多