我在scikit-learn中有一个管道,它使用我定义的自定义变换器,如下所示:
class MyPipelineTransformer(TransformerMixin):
定义函数
__init__, fit() and transform()
但是,当我在RandomizedSearchCV中使用管道时,我收到以下错误:
' MyPipelineTransformer'对象没有属性' get_params'
我已在网上阅读(例如下面的链接)
(Python - sklearn) How to pass parameters to the customize ModelTransformer class by gridsearchcv
http://scikit-learn.org/stable/auto_examples/hetero_feature_union.html
我可以得到' get_params'继承自BaseEstimator,而不是仅继承TransformerMixin的当前代码。但我的变压器不是估算器。从BaseEstimator继承非估计量是否有任何不足之处?或者这是在管道中为任何变压器(估算器或非估算器)获取get_params的推荐方法吗?
答案 0 :(得分:8)
是的,看起来这是实现这一目标的标准方法。例如in the source for sklearn.preprocessing
我们有
Test Str$ing-------1End------------
Test
Str$ing
-------End------------