def get_objective_signature(model_name, dataset, scorer, data_root=None): """Get signature of an objective function specified by an sklearn model and dataset. This routine specializes :func:`.signatures.get_func_signature` for the `sklearn` study case. Parameters ---------- model_name : str Which sklearn model we are attempting to tune, must be an element of `constants.MODEL_NAMES`. dataset : str Which data set the model is being tuned to, which must be either a) an element of `constants.DATA_LOADER_NAMES`, or b) the name of a csv file in the `data_root` folder for a custom data set. scorer : str Which metric to use when evaluating the model. This must be an element of `sklearn_funcs.SCORERS_CLF` for classification models, or `sklearn_funcs.SCORERS_REG` for regression models. data_root : str Absolute path to folder containing custom data sets. This may be ``None`` if no custom data sets are used.`` Returns ------- signature : list(str) The signature of this test function. """ function_instance = _build_test_problem(model_name, dataset, scorer, data_root) api_config = function_instance.get_api_config() signature = get_func_signature(function_instance.evaluate, api_config) return signature
def test_get_func_signature(api_config): api_config, _, _, _ = api_config signature_x, signature_y = ss.get_func_signature(some_mock_f, api_config)