我正在試圖定義一個量化器,用於sklearn中的Pipeline/GridSearchCV。當如下使用sklearn管道
class Quantizer(base.BaseEstimator, base.TransformerMixin):
def __init__(self):
def transform(X, y=None):
some code
我越來越像
定義方法適合缺少
我缺少的類定義的東西嗎?
我正在試圖定義一個量化器,用於sklearn中的Pipeline/GridSearchCV。當如下使用sklearn管道
class Quantizer(base.BaseEstimator, base.TransformerMixin):
def __init__(self):
def transform(X, y=None):
some code
我越來越像
定義方法適合缺少
我缺少的類定義的東西嗎?
如果你只在您的管道的中間狀態轉換數據不需要實施擬合方法,所以你只返回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
看看here瞭解更多詳情。
我無法確定沒有看到整個代碼,但它看起來像缺少適合'適合'方法的實現。你在'一些代碼'中有這樣的方法嗎? – Mast 2014-09-12 21:34:34
在我的情況下,fit不會做任何事情。我正在修改基於靜態規則的值。 – Bob 2014-09-12 21:48:32
我不是說它必須做任何事情。正如@elyase所言,迴歸自我就足夠了。只要有'fit'的某種定義可用,這在你的代碼中似乎是缺少的。 – Mast 2014-09-12 21:50:26