Мне было интересно, как отслеживать, что происходит на ступенях sklearn Pipeline. Поэтому я передаю объект конфигурации в оценщик, но кажется, что sklearn клонирует оценщик, и моя переменная конфигурации также копируется и не может видеть, что происходит внутри оценщика. Есть ли способ получить информацию в оценщике? Или мне всегда нужно делать это за пределами трубопровода
class Binner(BaseEstimator, TransformerMixin):
# Class Constructor
def __init__(self,
config):
self.config = config
def fit(self, X, y=None):
self.config.categories.extend(new_col)
return self
CAT_COLS = ["abc"]
class Config:
"""
Only exist within a pipeline
"""
def __init__(self, categories=None):
self.categories = categories if categories else CAT_COLS
full_pipeline = Pipeline(
steps=[
("bin_pipeline", Binner(config))
])
full_pipeline.fit(trainX, trainY)
print(config.categories)