Python-scikit-learn中跨多列的标签编码

Python-scikit-learn中跨多列的标签编码,第1张

Python-scikit-learn中跨多列的标签编码

你可以轻松地做到这一点

df.apply(LabelEnprer().fit_transform)

编辑2:

在scikit-learn 0.20中,推荐的方法是

oneHotEnprer().fit_transform(df)

因为OneHotEnprer现在支持字符串输入。使用ColumnTransformer可以仅将OneHotEnprer应用于某些列。

编辑:

由于这个答案是一年多以前的,并且产生了很多赞誉(包括赏金),所以我可能应该进一步扩大。

对于inverse_transform和transform,你必须做一点改动。

from collections import defaultdictd = defaultdict(LabelEnprer)

这样,你现在将所有列保留LabelEnprer为字典。

# Encoding the variablefit = df.apply(lambda x: d[x.name].fit_transform(x))# Inverse the enpredfit.apply(lambda x: d[x.name].inverse_transform(x))# Using the dictionary to label future datadf.apply(lambda x: d[x.name].transform(x))


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5508934.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存