Пример #1
0
 def fit(self,
         X,
         y,
         sample_weight=None,
         check_input=True,
         X_idx_sorted=None):
     y = reformat_np_arr(y, self.model_Ys_type)
     return super().fit(X, y, sample_weight, check_input, X_idx_sorted)
Пример #2
0
 def fit(self,
         X,
         y,
         coef_init=None,
         intercept_init=None,
         sample_weight=None):
     y = reformat_np_arr(y, self.model_Ys_type)
     return super().fit(X, y, coef_init, intercept_init, sample_weight)
Пример #3
0
 def fit(self,
         X,
         y,
         sample_weight=None,
         eval_set=None,
         eval_metric=None,
         early_stopping_rounds=None,
         verbose=True,
         xgb_model=None,
         sample_weight_eval_set=None):
     y = reformat_np_arr(y, self.model_Ys_type)
     return super().fit(X, y, sample_weight, eval_set, eval_metric,
                        early_stopping_rounds, verbose, xgb_model,
                        sample_weight_eval_set)
Пример #4
0
 def fit(self,
         X,
         y=None,
         cat_features=None,
         sample_weight=None,
         baseline=None,
         use_best_model=None,
         eval_set=None,
         verbose=None,
         logging_level=None,
         plot=False,
         column_description=None,
         verbose_eval=None):
     y = reformat_np_arr(y, self.model_Ys_type)
     return super().fit(X, y, cat_features, sample_weight, baseline,
                        use_best_model, eval_set, verbose, logging_level,
                        plot, column_description, verbose_eval)
Пример #5
0
    def fit(self,
            X,
            y,
            sample_weight=None,
            init_score=None,
            eval_set=None,
            eval_names=None,
            eval_sample_weight=None,
            eval_class_weight=None,
            eval_init_score=None,
            eval_metric="logloss",
            early_stopping_rounds=None,
            verbose=True,
            feature_name='auto',
            categorical_feature='auto',
            callbacks=None):
        y = reformat_np_arr(y, self.model_Ys_type)

        return super().fit(X, y, sample_weight, init_score, eval_set,
                           eval_names, eval_sample_weight, eval_class_weight,
                           eval_init_score, eval_metric, early_stopping_rounds,
                           verbose, feature_name, categorical_feature,
                           callbacks)
Пример #6
0
 def score(self, X, y):
     y = reformat_np_arr(y, self.model_Ys_type)
     return super().score(X, y)
Пример #7
0
 def fit(self, X, y, init_params=True):
     y = reformat_np_arr(y, self.model_Ys_type)
     return super().fit(X, y, init_params)
Пример #8
0
 def score_pack(self, X, y):
     y = reformat_np_arr(y, self.model_Ys_type)
     return self._apply_metric_pack(y, self.predict(X))
Пример #9
0
 def score(self, X, y, metric='accuracy'):
     y = reformat_np_arr(y, self.model_Ys_type)
     return self._apply_metric(y, self.predict(X), metric)
Пример #10
0
 def fit(self, X, y, groups=None):
     y = reformat_np_arr(y, self.model_Ys_type)
     return super().fit(X, y, groups)
Пример #11
0
 def score(self, X, y, sample_weight=None):
     y = reformat_np_arr(y, self.model_Ys_type)
     return super().score(X, y, sample_weight)
Пример #12
0
 def fit(self, X, y, sample_weight=None, monitor=None):
     y = reformat_np_arr(y, self.model_Ys_type)
     return super().fit(X, y, sample_weight, monitor)
Пример #13
0
    def optimize(self, Xs, Ys, Ys_type=None, split_rate=0.7):
        Ys = reformat_np_arr(Ys,
                             self.estimator.model_Ys_type,
                             from_np_arr_type=Ys_type)
        dataset = Dataset()
        dataset.add_data('Xs', Xs)
        dataset.add_data('Ys', Ys)

        train_set, test_set = dataset.split((split_rate, 1 - split_rate),
                                            shuffle=False)
        train_Xs, train_Ys = train_set.full_batch()
        test_Xs, test_Ys = test_set.full_batch()

        train_Ys = reformat_np_arr(train_Ys,
                                   self.estimator.model_Ys_type,
                                   from_np_arr_type=Ys_type)
        test_Ys = reformat_np_arr(test_Ys,
                                  self.estimator.model_Ys_type,
                                  from_np_arr_type=Ys_type)

        param_grid_size = self.param_grid_size
        self.log.info(("optimize [%s], total %s's candidate estimator" %
                       (self.estimator, param_grid_size)))
        self.result = []

        class_ = self.estimator.__class__
        gen_param = self.gen_param()
        for _ in progressbar.progressbar(range(param_grid_size),
                                         redirect_stdout=False):
            try:
                param = next(gen_param)

                estimator = class_(**param)
                estimator.fit(train_Xs, train_Ys)
                train_score = estimator.score(train_Xs, train_Ys)
                test_score = estimator.score(test_Xs, test_Ys)
                predict = estimator.predict(test_Xs)
                auc_score = sklearn.metrics.roc_auc_score(test_Ys, predict)

                result = {
                    "train_score": train_score,
                    "test_score": test_score,
                    "param": param,
                    "auc_score": auc_score,
                }
                self.result += [result]
            except KeyboardInterrupt as e:
                log_error_trace(self.log.error, e)
                raise KeyboardInterrupt
            except BaseException as e:
                self.log.warn(f'while optimize param {param} raise {e}')

        self.result = sorted(self.result,
                             key=lambda a: (
                                 -a["auc_score"],
                                 -a["test_score"],
                                 -a["train_score"],
                             ))
        self.best_param = self.result[0]["param"]
        estimator = class_(**self.best_param)
        estimator.fit(
            train_Xs,
            train_Ys,
        )
        return estimator
Пример #14
0
 def _reformat_to_onehot(self, Xs):
     return reformat_np_arr(Xs, NP_ARRAY_TYPE_ONEHOT)
Пример #15
0
 def _reformat_to_index(self, Xs):
     return reformat_np_arr(Xs, NP_ARRAY_TYPE_INDEX)