2

I want to encode more than one column with columtransformer. Do you know how to add those?

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)

image

Nick is tired
  • 6,860
  • 20
  • 39
  • 51
  • https://stackoverflow.com/questions/54160370/how-to-use-sklearn-column-transformer, does this help? – nitin3685 Oct 31 '19 at 08:38
  • use `pd.get_dummies` to OneHotEncode multiple columns – Trollsors Oct 31 '19 at 09:47
  • @Trollsors It might be easier to use pandas for preprocessing data however using sklearn for the same has advantages as preprocessing steps can be used in pipelines and later can be used to cross-validate model performance – Dr Nisha Arora Sep 16 '20 at 03:07

1 Answers1

3

For make_column_transformer provide a list of indices/ column names for columns you need to encode and transform. For eg, if you need column index 0 and 1:

transformer = make_column_transformer( (OneHotEncoder(categories='auto'), 
                                       [0, 1]), remainder="passthrough" )
Mankind_008
  • 2,158
  • 2
  • 9
  • 15