Можно ли использовать sklearn.compose.ColumnTransformer с определенным пользователем преобразователем? - PullRequest
0 голосов
/ 21 февраля 2020

Я хотел бы взять логарифм указанных c столбцов моего информационного кадра. Я создал новый объект-преобразователь:

from sklearn.preprocessing import FunctionTransformer log_transformer = FunctionTransformer(np.log10, validate=True)

, и он прекрасно работает с одним конкретным c столбцом моего фрейма данных:

log_transformer.transform(df['_column']) Также можно также перезаписать указанный столбец c исходного кадра данных, например:

df[['_column']]=log_transformer.transform(df[['_column']])

Однако эта операция затем изменяет исходный кадр данных и не будет полезна в конвейере. .

Когда я пытаюсь включить этот объект-преобразователь в ColumnTransformer, я получаю сообщение об ошибке: columnTransformer = ColumnTransformer([('log_transform', log_transformer.transform(), [0,5)], remainder='passthrough')

Как передать пользовательский объект-преобразователь в ColumnTransformer ? (Тот же самый синтаксис будет очень хорошо работать для встроенных преобразователей, как предложено в этой статье: https://towardsdatascience.com/columntransformer-in-scikit-for-labelencoding-and-onehotencoding-in-machine-learning-c6255952731b)

Спасибо за вашу помощь!

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