def _check_params(self):
        """Parameter sanity checks"""

        if (not self.db_file):
            msg = "db_file parameter is required"
            raise ValueError(msg)

        if (self.epsilon < 0.0):
            msg = "epsilon must be >= 0.0"
            raise ValueError(msg)

        metric_names = self._metrics.keys()
        if (self.score_metric not in metric_names):
            msg = "score_metric not in %s" % metric_names
            raise ValueError(msg)

        if (self.n_best < 1):
            msg = "n_best must be >= 1"
            raise ValueError(msg)

        if (self.max_models < self.n_best):
            msg = "max_models must be >= n_best"
            raise ValueError(msg)

        if (not self.use_bootstrap):
            if (self.n_folds < 2):
                msg = "n_folds must be >= 2 for StratifiedKFolds"
                raise ValueError(msg)
        else:
            if (self.n_folds < 1):
                msg = "n_folds must be >= 1 with bootstrap"
                raise ValueError(msg)
dataset/ETHPy150Open dclambert/pyensemble/ensemble.py/EnsembleSelectionClassifier._check_params/original