How to Handle Hyperparameters
Currently, we can have default model_parameters for each model in the appropriate setup files. In the middle layer the code is also merging a dictionary from the user and the default one. Everything is provided as the dictionaries in sklearn. But we already have one advantage: dictionaries do not need to contain prefixes when used in a pipeline as in sklearn.
Now the question is first: Is this actually needed? I think it is, but maybe I am wrong.
Second question is how should a user input the hyperparameters. I thought that we could just allow the user to also input tuples of (name, hyperparameter_dict) instead of transformer_names or estimator names in the user facing api.
So, instead of saying model = 'svm' they can also say model = ('svm', {C=[0.5,0.6,0.7...], ...} and similar for the list of preprocess_X.
But maybe there is a better way.