Трубопровод с кодировщиком этикеток - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть этот конвейер, где я использую один горячий кодировщик, но иногда он не работал должным образом, потому что в некоторых случаях мой тестовый набор имеет другое количество столбцов из-за выделения по категориям, чем мой обучающий набор. По этой причине я пытаюсь изменить свой текущий конвейер на кодировщик меток, чтобы сохранить только один столбец для каждого столбца категории

def clean_data(df):
    numeric_transformer = Pipeline(steps=[
                                        ('imputer', SimpleImputer(strategy='median')),
                                        ('scaler', StandardScaler())])
    categorical_transformer = Pipeline(steps=[
                                ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),
                                ('onehot', OneHotEncoder(handle_unknown='ignore', sparse=False))])

    numeric_features = df.select_dtypes(include=['int64', 'float64']).columns
    categorical_features = df.select_dtypes(include=['object']).columns



    preprocessor = ColumnTransformer(
                    transformers=[
                            ('num', numeric_transformer, numeric_features),
                            ('cat', categorical_transformer, categorical_features)])

    return preprocessor.fit_transform(df)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...