Sklearn Pipeline - как наследовать получить параметры в пользовательском трансформаторе (не Оценка)
у меня есть конвейер в scikit-learn, который использует пользовательский трансформатор, который я определяю, как показано ниже:
class MyPipelineTransformer(TransformerMixin):
, который определяет функции
__init__, fit() and transform()
однако, когда я использую конвейер внутри RandomizedSearchCV, я получаю следующую ошибку:
объект 'MyPipelineTransformer' не имеет атрибута 'get_params'
Я читал онлайн (например, ссылки ниже)
(Python-sklearn) как передать параметры в настройка класса ModelTransformer по gridsearchcv
http://scikit-learn.org/stable/auto_examples/hetero_feature_union.html
что я мог бы получить "get_params", наследуя от BaseEstimator, а не мой текущий код, наследующий только от TransformerMixin. Но мой трансформатор не оценщик. Есть ли недостаток не-сметчик наследуют от BaseEstimator? Или это рекомендуемый способ получить get_params для любого трансформатора (оценщик или нет) в конвейере?
1 ответов
да, похоже, что это стандартный способ достижения этого. Например в источник sklearn.preprocessing
у нас есть
class FunctionTransformer(BaseEstimator, TransformerMixin)