Currently there are some inconvenience for automl recipe.
Each model has one or more recipes and they are all in automl.config.recipe.py. Adding a new model includes adding model in automl.model as well as adding a recipe in the mixed recipe file.
The search algo and scheduler should not bind particular model.
It is not convenience to support model selection. Since user should specify recipe for fit, and each recipe is designed for specific model, like LSTMGridSearchRecipe, MTNetRandomRecipe..., the model is fixed with the recipe. And passing a list of recipes corresponding to a list of models user wants to search may also not be a good idea.
Initial refactor idea is
Each model estimator has a static method of get_search_space
user can use model.set_search_space to change the default search space of certain model
add include_estimators/exclude_estimators in TimeSequencePredictor (such as in constructor) for user to select a subset of model estimators to search.
Better wrapper for parameter search for search space. Currently we use tune param search functions like tune.grid_search..., and a log param needs special workaround.
Currently there are some inconvenience for automl recipe.
LSTMGridSearchRecipe
,MTNetRandomRecipe
..., the model is fixed with the recipe. And passing a list of recipes corresponding to a list of models user wants to search may also not be a good idea.Initial refactor idea is
get_search_space
model.set_search_space
to change the default search space of certain modelinclude_estimators
/exclude_estimators
inTimeSequencePredictor
(such as in constructor) for user to select a subset of model estimators to search.tune.grid_search
..., and a log param needs special workaround.