mirror of
https://github.com/microsoft/autogen.git
synced 2026-04-20 03:02:16 -04:00
automl fit with starting points (#141)
* add starting point in fit * add estimator best config * add test * add doc string * when there are multiple points_to_evaluate in CFO, use the best one to start local search; after that use low cost partial config as the start point; then, remove the points whose performance is worse than the converged, and start local search from the remaining ones ordered by their performance. Co-authored-by: Qingyun Wu <qingyunwu@Qingyuns-MacBook-Pro-2.local> Co-authored-by: Chi Wang <wang.chi@microsoft.com>
This commit is contained in:
@@ -163,7 +163,7 @@ def _test_xgboost(method='BlendSearch'):
|
||||
|
||||
|
||||
def test_nested():
|
||||
from flaml import tune
|
||||
from flaml import tune, CFO
|
||||
search_space = {
|
||||
# test nested search space
|
||||
"cost_related": {
|
||||
@@ -178,6 +178,27 @@ def test_nested():
|
||||
tune.report(obj=obj)
|
||||
tune.report(obj=obj, ab=config["cost_related"]["a"] * config["b"])
|
||||
|
||||
analysis = tune.run(
|
||||
simple_func,
|
||||
search_alg=CFO(
|
||||
space=search_space, metric="obj", mode="min",
|
||||
low_cost_partial_config={
|
||||
"cost_related": {"a": 1}
|
||||
},
|
||||
points_to_evaluate=[
|
||||
{"b": .99, "cost_related": {"a": 3}},
|
||||
{"b": .99, "cost_related": {"a": 2}},
|
||||
{"cost_related": {"a": 8}}
|
||||
],
|
||||
metric_constraints=[("ab", "<=", 4)]),
|
||||
local_dir='logs/',
|
||||
num_samples=-1,
|
||||
time_budget_s=.1)
|
||||
|
||||
best_trial = analysis.get_best_trial()
|
||||
logger.info(f"CFO best config: {best_trial.config}")
|
||||
logger.info(f"CFO best result: {best_trial.last_result}")
|
||||
|
||||
analysis = tune.run(
|
||||
simple_func,
|
||||
config=search_space,
|
||||
@@ -189,11 +210,11 @@ def test_nested():
|
||||
metric_constraints=[("ab", "<=", 4)],
|
||||
local_dir='logs/',
|
||||
num_samples=-1,
|
||||
time_budget_s=1)
|
||||
time_budget_s=.1)
|
||||
|
||||
best_trial = analysis.get_best_trial()
|
||||
logger.info(f"Best config: {best_trial.config}")
|
||||
logger.info(f"Best result: {best_trial.last_result}")
|
||||
logger.info(f"BlendSearch best config: {best_trial.config}")
|
||||
logger.info(f"BlendSearch best result: {best_trial.last_result}")
|
||||
|
||||
|
||||
def test_xgboost_bs():
|
||||
|
||||
Reference in New Issue
Block a user