def _fit_transformer_with_progress_logging(transformer: TransformerMixin, X, logger: logging.Logger, message_prefix: str, unit: str, message_suffx: str = ': '): if isinstance(transformer, Pipeline): steps = transformer.steps if len(steps) == 1 and isinstance(steps[0][1], FeatureUnion): feature_union = steps[0][1] for name, union_transformer in feature_union.transformer_list: X = logging_tqdm( iterable=X, logger=logger, desc=f'{message_prefix}.{name}{message_suffx}', unit=unit) union_transformer.fit(X) return X = logging_tqdm(iterable=X, logger=logger, desc=message_prefix + message_suffx, unit=unit) transformer.fit(X)
def fit_transformer(self, transformer: TransformerMixin) -> None: """ Fit a transformer on this dataset. """ transformer.fit(self.XY)
def fit_transform_scaler( scaler: TransformerMixin, x: ArrayLike) -> tuple[TransformerMixin, ArrayLike]: fitted = scaler.fit(x) return fitted, apply_transform(fitted, x)
def fit_on(self, predictor: TransformerMixin): """ :return: """ predictor.fit(self.sample()) return predictor