def fit(self, source_df, y, experiment: ExperimentBackend) -> pd.DataFrame: X, y = source_df.values, y default_params = self.generate_default_model_parameter( X, y, experiment) with experiment.mark_time(prefix='fit'): models, oof = self.run_oof_train(X, y, default_params, experiment=experiment) self._fitted_models = models experiment.mark('n_cv', len(models)) return pd.DataFrame(oof)
def frozen(self, experiment: ExperimentBackend) -> 'MetaBlock': """ save fitted models to the experiment Args: experiment: 保存する対象となる environment Returns: myself """ if not self._check_has_fitted_models(): raise NotFittedError() dir_names = [ self._get_fold_dir(i) for i in range(len(self._fitted_models)) ] for name, model in zip(dir_names, self._fitted_models): with experiment.as_environment(name, style='nested') as fold_env: fold_env.save_as_python_object('model', model) experiment.mark('cv_dirs', dir_names) return self