from sklearn.base import BaseEstimator, TransformerMixin
class BaseTransformer(BaseEstimator, TransformerMixin):
def __init__(self):
pass
def fit(self, X, y=None):
return self
def transform(self, X):
return X
# Optional
def inverse_transform(self, X):
return X
自作transformersクラスの作成
基底クラスを継承し、任意のメソッドを上書きすることで自作クラスを作成することができます。
ここでは例として特徴量を累乗に変換する自作クラスのコード例を紹介します。
class Power(BaseTransformer):
def __init__(self, n=1):
self.n = n
def transform(self, X):
X = X ** self.n
return X
def inverse_transform(self, X):
X = X ** (self.n * (-1))
return X
transformer_power = Power(2)
transformer_power.transform(2)