【问题标题】:How to encode more than one column with column transformer?如何使用列转换器对多列进行编码?
【发布时间】:2020-02-26 13:45:36
【问题描述】:

我想用 columtransformer 对多个列进行编码。你知道如何添加这些吗?

from sklearn.preprocessing import LabelEncoder
from sklearn.compose import make_column_transformer
transformer = make_column_transformer(( OneHotEncoder(categories='auto'), [1] ),remainder="passthrough")
X = transformer.fit_transform(X)

LabelEncoder_Y = LabelEncoder()
y = LabelEncoder_Y.fit_transform(y)

【问题讨论】:

  • 使用pd.get_dummies对多列进行OneHotEncode
  • @Trollsors 使用 pandas 来预处理数据可能更容易,但使用 sklearn 具有相同的优势,因为预处理步骤可用于管道,稍后可用于交叉验证模型性能

标签: python machine-learning scikit-learn


【解决方案1】:

对于make_column_transformer,为您需要编码转换的列提供索引/列名的list。例如,如果您需要列索引 0 和 1:

transformer = make_column_transformer( (OneHotEncoder(categories='auto'), 
                                       [0, 1]), remainder="passthrough" )

【讨论】:

    猜你喜欢
    • 2013-02-04
    • 2017-10-24
    • 2019-11-05
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 2020-07-30
    • 2020-10-28
    • 2019-09-23
    相关资源
    最近更新 更多