передача объекта в BaseEstimator для отслеживания того, что происходит внутри шага в конвейере sklearn - PullRequest
0 голосов
/ 01 февраля 2020

Мне было интересно, как отслеживать, что происходит на ступенях 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...