ColumnTransformer пропускается в sklearn.pipeline - PullRequest
0 голосов
/ 25 июня 2019

Я настраиваю конвейер, где я преобразую некоторые из моих категориальных функций в целочисленные, прежде чем передать данные в модель LightGBM.В наборе данных у меня есть как категориальные, так и некатегоричные функции.

categorical_features = ['categorical', 'features']

category_pipeline = make_pipeline(SimpleImputer(strategy='constant', fill_value='NA', missing_values=None),
                                   OrdinalEncoder())

column_transformer = ColumnTransformer(transformers=[('cat', category_pipeline, categorical_features)],
                                      remainder='passthrough')


pipeline = make_pipeline(FunctionTransformer(prepare_dataset),
                         FunctionTransformer(encode_zip),
                         column_transformer,
                        LGBMClassifier)

Несмотря на кодирование всех категориальных функций в виде целых чисел на шаге OrdinalEncoder, я получаю следующую ошибку при вызове pipeline.fit():

could not convert string to float

Мне кажется, что column_transformer вообще не выполняется перед вызовом метода fit LGBClassifier.

Кто-нибудь еще сталкивался с этой проблемой?

...