diff --git a/doc/接口文档code.md b/doc/接口文档code.md index c8e14da..01c50cf 100644 --- a/doc/接口文档code.md +++ b/doc/接口文档code.md @@ -737,43 +737,28 @@ Content-Type: application/json Request: { - "run_id": "7970364d490f4e0aa0375c2db26215f3", + run_id": "bd3697dc238c4d1587e0f4f319d04448", "method": "GridSearchCV", "parameters": { - "param_grid": { - "max_depth": [3, 5, 7], - "learning_rate": [0.01, 0.1, 0.2], - "n_estimators": [100, 200, 300] - }, - "scoring": "accuracy", - "cv": 5, - "n_jobs": -1, - "verbose": 1 + "max_depth": [3, 5, 7], + "n_estimators": [50, 100, 200], + "min_samples_split": [2, 5, 10] }, - "data_path": "dataset/dataset_processed/train_val_combined.csv", - "output_dir": "optimized_models/", - "experiment_name": "xgboost_optimization" + "data_path": "dataset/dataset_processed/test_optimize/train.csv", + "output_dir": None, + "experiment_name": "测试模型优化方法" } Response: { "status": "success", "optimization": { - "id": "opt_20250220_001", - "run_id": "7970364d490f4e0aa0375c2db26215f3", - "method": "GridSearchCV", - "original_model": "XGBClassifier", - "best_params": { - "max_depth": 5, - "learning_rate": 0.1, - "n_estimators": 200 - }, - "best_score": 0.968, - "cv_results_file": "optimized_models/opt_20250220_001/cv_results.csv", - "optimized_model_id": "8970364d490f4e0aa0375c2db26215f4", - "execution_time": "45m 23s", - "status": "completed", - "timestamp": "2025-02-20 10:45:30" + + "status": "success", + "message": "优化任务已执行", + "run_id": "903ab190690e496aa74e6aaefac8a7cb", # 新的运行id + "optimized_model_id": "bd3697dc238c4d1587e0f4f319d04448" # 被优化模型的运行id + } } @@ -790,38 +775,42 @@ Error Response: ### 3.4 获取优化任务列表 ```http -GET /optimize/tasks?experiment_name={experiment_name}&page={page}&page_size={page_size} +GET /optimize/tasks?experiment_name={experiment_name}&page={page}&page_size={page_size}$status={status} Response: { "status": "success", "tasks": [ { - "id": "opt_20250220_001", - "run_id": "7970364d490f4e0aa0375c2db26215f3", - "method": "GridSearchCV", - "original_model": "XGBClassifier", - "best_score": 0.968, - "status": "completed", - "start_time": "2025-02-20 09:30:15", - "end_time": "2025-02-20 10:45:30", - "optimized_model_id": "8970364d490f4e0aa0375c2db26215f4" + "id": "opt_20250318_b50499", + "run_id": "0e7f80468ba3451d98e2ed54dafe71a6", + "task_id": "opt_20250318_b50499", + "method": "GridSearchCV", + "original_model": "XGBClassifier", + "best_score": 0.9490196078431372, + "status": "completed", + "start_time": "2025-03-18T11:30:52.586156", + "end_time": "2025-03-18T11:30:56.488706", + "experiment_name": "测试模型优化方法", + "optimized_model_id": "bd3697dc238c4d1587e0f4f319d04448" }, { - "id": "opt_20250220_002", - "run_id": "7970364d490f4e0aa0375c2db26215f5", - "method": "RandomizedSearchCV", - "original_model": "RandomForestClassifier", - "best_score": 0.942, - "status": "completed", - "start_time": "2025-02-20 11:15:20", - "end_time": "2025-02-20 12:05:45", - "optimized_model_id": "8970364d490f4e0aa0375c2db26215f6" + "id": "opt_20250318_8de4b3", + "run_id": "903ab190690e496aa74e6aaefac8a7cb", + "task_id": "opt_20250318_8de4b3", + "method": "GridSearchCV", + "original_model": "XGBClassifier", + "best_score": 0.9490196078431372, + "status": "completed", + "start_time": "2025-03-18T11:36:29.244644", + "end_time": "2025-03-18T11:36:33.021564", + "experiment_name": "测试模型优化方法", + "optimized_model_id": "bd3697dc238c4d1587e0f4f319d04448" } - ], - "total_count": 2, - "page": 1, - "page_size": 10 + ], + "total_count": 2, + "page": 1, + "page_size": 10 } ``` @@ -831,42 +820,50 @@ GET /optimize/task/{task_id} Response: { - "status": "success", - "task": { - "id": "opt_20250220_001", - "run_id": "7970364d490f4e0aa0375c2db26215f3", - "method": "GridSearchCV", - "original_model": "XGBClassifier", - "parameters": { - "param_grid": { - "max_depth": [3, 5, 7], - "learning_rate": [0.01, 0.1, 0.2], - "n_estimators": [100, 200, 300] - }, - "scoring": "accuracy", - "cv": 5, - "n_jobs": -1, - "verbose": 1 - }, - "best_params": { - "max_depth": 5, - "learning_rate": 0.1, - "n_estimators": 200 - }, - "best_score": 0.968, - "cv_results_summary": { - "mean_fit_time": 12.5, - "mean_score_time": 0.8, - "param_combinations": 27, - "score_range": [0.912, 0.968] - }, - "cv_results_file": "optimized_models/opt_20250220_001/cv_results.csv", - "optimized_model_id": "8970364d490f4e0aa0375c2db26215f4", - "execution_time": "45m 23s", - "status": "completed", - "start_time": "2025-02-20 09:30:15", - "end_time": "2025-02-20 10:45:30" - } + "status": "success", + "task": { + "id": "opt_20250318_8de4b3", + "run_id": "903ab190690e496aa74e6aaefac8a7cb", + "experiment_id": "780687096365534715", + "task_id": "opt_20250318_8de4b3", + "method": "GridSearchCV", + "original_model": "XGBClassifier", + "parameters": { + "max_depth": [ + 3, + 5, + 7 + ], + "min_samples_split": [ + 2, + 5, + 10 + ], + "n_estimators": [ + 50, + 100, + 200 + ] + }, + "best_params": {}, + "best_score": 0.9490196078431372, + "cv_results_summary": { + "mean_fit_time": 0.12129182815551758, + "mean_score_time": 0.005704736709594727, + "param_combinations": 1, + "score_range": [ + 0.9490196078431372, + 0.9490196078431372 + ] + }, + "cv_results_file": "optimized_models/opt_20250318_8de4b3/cv_results.csv", + "optimized_model_id": "bd3697dc238c4d1587e0f4f319d04448", + "execution_time": "0:00:03.776920", + "experiment_name": "测试模型优化方法", + "status": "completed", + "start_time": "2025-03-18T11:36:29.244644", + "end_time": "2025-03-18T11:36:33.021564" + } } ``` @@ -898,15 +895,15 @@ DELETE /optimize/task/{task_id} Response: { - "status": "success", - "message": "优化任务已删除", - "details": { - "task_id": "opt_20250220_001", - "deleted_files": [ - "optimized_models/opt_20250220_001/cv_results.csv", - "optimized_models/opt_20250220_001/optimization_log.txt" - ] - } + "status": "success", + "message": "优化任务已删除", + "details": { + "task_id": "opt_20250318_8de4b3", + "deleted_files": [ + "optimized_models/opt_20250318_8de4b3/task_info.json", + "optimized_models/opt_20250318_8de4b3/cv_results.csv" + ] + } } Error Response: