sklearn管道中的持久标签编码

时间:2016-10-27 12:44:06

标签: python pandas encoding scikit-learn pipeline

我可以持久地将相同的String编码到同一列吗? Label encoding across multiple columns in scikit-learn提出了一种处理具有多个分类值的数据框的好方法。但是,我不确定这是否正确地存在(在泡菜中)并且会再次为新传入的数据应用相同的标签。

到目前为止,我直接使用了pandas并通过类别值的.cat.codes获得了标签。但是现在我需要将标签编码集成到管道中以处理新的传入数据。

会像

le = LabelEncoder()
for col in df.select_dtypes([], ['object'].columns:
    df[col] = le.fit_transform(df[col])

MultiColumnLabelEncoder建议的解决方案足以完成我的任务?

2 个答案:

答案 0 :(得分:1)

遇到同样的问题并且能够找到解决方法,如果我们可以保存编码器实例信息,我们可以重复使用它来产生预期的输出。 以下链接有详细的答案: Using Scikit's LabelEncoder correctly across multiple programs

答案 1 :(得分:-1)

似乎已经针对单列案例Usng same Label Encoder to test dataset? or new Label Encoder?

进行了处理

所以我使用上面提到的多列解决方案应该运行良好。