72 lines
3.0 KiB
Python
72 lines
3.0 KiB
Python
from function.optimize_manager import OptimizeManager
|
|
import pandas as pd
|
|
import numpy as np
|
|
from sklearn.datasets import load_breast_cancer
|
|
from sklearn.model_selection import train_test_split
|
|
from sklearn.preprocessing import StandardScaler
|
|
import os
|
|
import time
|
|
import json
|
|
from datetime import datetime
|
|
|
|
# 创建优化管理器实例
|
|
manager = OptimizeManager()
|
|
|
|
# 准备测试数据
|
|
print("--------------------------------------------准备测试数据---------------------------------------------------")
|
|
# 加载乳腺癌数据集
|
|
data = load_breast_cancer()
|
|
X = pd.DataFrame(data.data, columns=data.feature_names)
|
|
y = pd.Series(data.target, name='target')
|
|
|
|
# 数据预处理
|
|
scaler = StandardScaler()
|
|
X_scaled = scaler.fit_transform(X)
|
|
X_scaled = pd.DataFrame(X_scaled, columns=X.columns)
|
|
|
|
# 分割数据集
|
|
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
|
|
|
|
# 保存数据集
|
|
os.makedirs('dataset/dataset_processed/test_optimize', exist_ok=True)
|
|
train_data = pd.concat([X_train, y_train], axis=1)
|
|
train_data.to_csv('dataset/dataset_processed/test_optimize/train.csv', index=False)
|
|
test_data = pd.concat([X_test, y_test], axis=1)
|
|
test_data.to_csv('dataset/dataset_processed/test_optimize/test.csv', index=False)
|
|
|
|
print("测试数据准备完成")
|
|
print("--------------------------------------------准备测试数据 end---------------------------------------------------")
|
|
|
|
print("--------------------------------------------获取优化方法---------------------------------------------------")
|
|
# 获取所有优化方法
|
|
methods = manager.get_optimize_methods()
|
|
print("优化方法列表:")
|
|
print(methods)
|
|
print("--------------------------------------------获取优化方法 end---------------------------------------------------")
|
|
|
|
print("--------------------------------------------获取方法详细信息---------------------------------------------------")
|
|
# 获取特定方法的详细信息
|
|
method_details = manager.get_optimize_method_details('GridSearchCV')
|
|
print("\nGridSearchCV方法详情:")
|
|
print(method_details)
|
|
print("--------------------------------------------获取方法详细信息 end---------------------------------------------------")
|
|
|
|
print("---------------------------------------------测试优化模型-----------------------------------------------------------")
|
|
run_id = "bd3697dc238c4d1587e0f4f319d04448" # 运行id
|
|
method = "GridSearchCV"
|
|
parameters = {
|
|
"max_depth": [3, 5, 7, 10, None],
|
|
"n_estimators": [50, 100, 200],
|
|
"min_samples_split": [2, 5, 10]
|
|
}
|
|
data_path = "dataset/dataset_processed/test_optimize/train.csv"
|
|
output_dir = None
|
|
experiment_name = "测试模型优化方法"
|
|
back = manager.run_optimization(run_id=run_id, method=method, parameters=parameters,
|
|
data_path=data_path,
|
|
output_dir=output_dir,
|
|
experiment_name=experiment_name)
|
|
|
|
print(back)
|
|
|
|
print("---------------------------------------------测试优化模型end--------------------------------------------------------") |