在fit_transform之后获取sklearn.LabelEncoder()映射
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在fit_transform之后获取sklearn.LabelEncoder()映射相关的知识,希望对你有一定的参考价值。
我正在尝试获取标签编码器的映射,以确定哪些代码为我的df中的列提供了每个字符串。
这是编码代码:
y[:]=LabelEncoder().fit_transform(y[:])
我希望得到这样的输出:
A:1
B:2
C:3
谢谢您的帮助!
答案
如果您希望以后能够使用映射或逆变换,则应避免进行内联初始化。
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']
以上是关于在fit_transform之后获取sklearn.LabelEncoder()映射的主要内容,如果未能解决你的问题,请参考以下文章
sklearn fit transform fit_transform
sklearn StandardScaler,不允许直接变换,我们需要fit_transform
sklearn.compose.ColumnTransformer:fit_transform() 接受 2 个位置参数,但给出了 3 个
sklearn standardscaler transform VS fit_transform 输出
sklearn PCA fit_transform() 是不是居中输入变量?
Sklearn - FeatureUnion - Transformer: TypeError: fit_transform() 接受 2 个位置参数,但给出了 3 个