(trial)
| 7 | |
| 8 | |
| 9 | def objective(trial): |
| 10 | task = { |
| 11 | "model": { |
| 12 | "class": "LGBModel", |
| 13 | "module_path": "qlib.contrib.model.gbdt", |
| 14 | "kwargs": { |
| 15 | "loss": "mse", |
| 16 | "colsample_bytree": trial.suggest_uniform("colsample_bytree", 0.5, 1), |
| 17 | "learning_rate": trial.suggest_uniform("learning_rate", 0, 1), |
| 18 | "subsample": trial.suggest_uniform("subsample", 0, 1), |
| 19 | "lambda_l1": trial.suggest_loguniform("lambda_l1", 1e-8, 1e4), |
| 20 | "lambda_l2": trial.suggest_loguniform("lambda_l2", 1e-8, 1e4), |
| 21 | "max_depth": 10, |
| 22 | "num_leaves": trial.suggest_int("num_leaves", 1, 1024), |
| 23 | "feature_fraction": trial.suggest_uniform("feature_fraction", 0.4, 1.0), |
| 24 | "bagging_fraction": trial.suggest_uniform("bagging_fraction", 0.4, 1.0), |
| 25 | "bagging_freq": trial.suggest_int("bagging_freq", 1, 7), |
| 26 | "min_data_in_leaf": trial.suggest_int("min_data_in_leaf", 1, 50), |
| 27 | "min_child_samples": trial.suggest_int("min_child_samples", 5, 100), |
| 28 | }, |
| 29 | }, |
| 30 | } |
| 31 | evals_result = dict() |
| 32 | model = init_instance_by_config(task["model"]) |
| 33 | model.fit(dataset, evals_result=evals_result) |
| 34 | return min(evals_result["valid"]) |
| 35 | |
| 36 | |
| 37 | if __name__ == "__main__": |
nothing calls this directly
no test coverage detected