I am currently trying to perform a grid search to optimize a function. Unfortunately, the computing time is too high and it is mostly due to useless calculation on my grid search. So far, I am trying to do only a cartesian product which gives me more set of parameters than I need of.
I have the following input:
dict_params = {"params_a": [0, 1],
"params_b": ["x1", "x2", "x3"],
"params_c": {"x1": ["a1", "a2"],
"x2": ["b1", "b2"],
"x3": ["c1", "c2"]
}
}
I expect the following output:
output_expected = [{"params_a" : 0, "params_b" : "x1", "params_c": "a1"},
{"params_a" : 0, "params_b" : "x1", "params_c": "a2"},
{"params_a" : 0, "params_b" : "x2", "params_c": "b1"},
{"params_a" : 0, "params_b" : "x2", "params_c": "b2"},
{"params_a" : 0, "params_b" : "x3", "params_c": "c1"},
{"params_a" : 0, "params_b" : "x3", "params_c": "c2"},
{"params_a" : 1, "params_b" : "x1", "params_c": "a1"},
{"params_a" : 1, "params_b" : "x1", "params_c": "a2"},
{"params_a" : 1, "params_b" : "x2", "params_c": "b1"},
{"params_a" : 1, "params_b" : "x2", "params_c": "b2"},
{"params_a" : 1, "params_b" : "x3", "params_c": "c1"},
{"params_a" : 1, "params_b" : "x3", "params_c": "c2"}
]
Any format returned is good. I tried to populate a dataframe with the full cartesian product then merge on "params_b" = "params_c", unfortunately I cannot make it work.
Thanks for reading