在sklearn中使用管道
我正在尝试定义一个量化器,以便在sklearn的Pipeline/GridSearchCV中使用。当我像下面这样定义时
class Quantizer(base.BaseEstimator, base.TransformerMixin):
def __init__(self):
def transform(X, y=None):
some code
我得到了类似这样的错误信息:
缺少方法 fit
我在类的定义中是不是漏掉了什么?
1 个回答
8
如果你只是对数据进行一些中间处理,而不是训练模型的话,你就不需要实现一个叫做fit的方法,这时候你只需要返回 self
就可以了:
class Quantizer(base.BaseEstimator, base.TransformerMixin):
def __init__(self):
def transform(self, X, y=None):
# some code
def fit(self, X, y=None, **fit_params):
return self
想了解更多细节,可以看看 这里。