Я настраиваю конвейер, где я преобразую некоторые из моих категориальных функций в целочисленные, прежде чем передать данные в модель 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.
Кто-нибудь еще сталкивался с этой проблемой?