""" Jarvis does model hyperparameter tuning on pipelines and models to find the best features and model that works for a problem. """ import numpy as np from collections import OrderedDict from scipy.optimize import ( differential_evolution ) from forecasting_toolkit.feature_preprocessing.timeseries.pipelines import ( feature_preprocessing_pipeline_factory_v1, feature_preprocessing_pipeline_factory_v2, feature_preprocessing_pipeline_factory_v3 ) from forecasting_toolkit.models.model_factory.baseline_models import ( linear_regressor_pipeline_factory, gbt_regressor_pipeline_factory, xgb_regressor_pipeline_factory ) from forecasting_toolkit.automl.constraints import ( get_gbt_regressor_model_contraints ) # Feature Preprocessing Search Space FEATURE_PREPROCESSING_SEARCH_SPACE = [ { 'name': 'feature_preprocessing_v1', 'pipeline_factory': feature_preprocessing_pipeline_factory_v1 }, { 'name': 'feature_preprocessing_v2', 'pipeline_factory': feature_preprocessing_pipeline_factory_v2 }, { 'name': 'feature_preprocessing_v3', 'pipeline_factory': feature_preprocessing_pipeline_factory_v3 }, ] # Model Search Space MODEL_SEARCH_SPACE = [ { 'name': 'gbt_regressor_pipeline', 'model_factory': gbt_regressor_pipeline_factory, 'constraints': get_gbt_regressor_model_contraints() } ] def solve(model_factory_pool=MODEL_SEARCH_SPACE, feature_preprocessing_pool=FEATURE_PREPROCESSING_SEARCH_SPACE): """ Search Space of """ raise NotImplementedError("Not Implemented Yet")