from function.model_manager import ModelManager import pandas as pd # 创建模型管理器实例 manager = ModelManager() # # 获取所有预处理方法 # print("--------------------------------------------获取预处理方法---------------------------------------------------") # methods = manager.get_models() # print("模型列表:") # print(methods) # print("--------------------------------------------获取预处理方法 end ---------------------------------------------------") print("--------------------------------------------获取方法详细信息---------------------------------------------------") # 获取特定方法的详细信息 method_details = manager.get_model_details('LinearRegression') print("\nLinearRegression方法详情:") print(method_details) print("--------------------------------------------获取方法详细信息 end ---------------------------------------------------") # print("--------------------------------------------评价指标 ---------------------------------------------------") # # 获取评价指标 # print(manager.get_metrics()) # print("--------------------------------------------评价指标 end ---------------------------------------------------") # print("--------------------------------------------获取所有已训练模型 ---------------------------------------------------") # # 获取所有已训练模型 # result = manager.get_finished_models( # page=1, # page_size=10, # experiment_name='breast_cancer_classification_3' # ) # # 打印结果 # print("\n已训练模型列表:") # print(f"状态: {result['status']}") # if result['status'] == 'success': # print(f"\n总数: {result['total_count']}") # print(f"当前页: {result['page']}") # print(f"每页数量: {result['page_size']}") # print("\n模型列表:") # for model in result['models']: # ''' # 'run_id': run['run_id'], # 'experiment_id': run['experiment_id'], # ''' # print(f"run_id", model['run_id']) # print(f"experiment_id", model['experiment_id']) # print(f"算法: {model['algorithm']}") # print(f"任务类型: {model['task_type']}") # print(f"数据集: {model['dataset']}") # print(f"训练开始时间: {model['training_start_time']}") # print(f"训练结束时间: {model['training_end_time']}") # print("模型参数:") # for k, v in model['parameters'].items(): # print(f" {k}: {v}") # print("评估指标:") # for metric_name, metric_value in model['metrics'].items(): # print(f" {metric_name}: {metric_value:.4f}") # else: # print(f"错误信息: {result['message']}") # print("--------------------------------------------获取所有已训练模型 end ---------------------------------------------------") # print("--------------------------------------------模型训练---------------------------------------------------") # # 加载数据 # train_data = pd.read_csv('/home/admin-root/haotian/MLPlatform/dataset/dataset_processed/breast_cancer_20250219_144629/train_breast_cancer_20250219_144629.csv') # val_data = pd.read_csv('/home/admin-root/haotian/MLPlatform/dataset/dataset_processed/breast_cancer_20250219_144629/val_breast_cancer_20250219_144629.csv') # # 准备特征和标签 # X_train = train_data.drop('target', axis=1) # y_train = train_data['target'] # X_val = val_data.drop('target', axis=1) # y_val = val_data['target'] # # 模型配置 # model_config = { # 'algorithm': 'XGBClassifier', # 'task_type': 'classification', # 'dataset' : '/home/admin-root/haotian/MLPlatform/dataset/dataset_processed/breast_cancer_20250219_144629', # 'params': { # 'n_estimators': 100, # 'learning_rate': 0.1, # 'max_depth': 6, # 'random_state': 42 # } # } # # 训练模型, 删除训练实验时要删除 mlruns/.trash/ 回收站里的文件 # # 模型文件 直接在 mlruns/文件夹下 # for i in range(3, 4): # result = manager.train_model( # { # 'features': X_train, # 'labels': y_train # }, # { # 'features': X_val, # 'labels': y_val # }, # model_config, # f'breast_cancer_classification_{i}' # ) # # 打印结果 # print("\n训练结果:") # print(f"状态: {result['status']}") # if result['status'] == 'success': # print(f"\nMLflow运行ID: {result['run_id']}") # print("\n评估指标:") # for metric_name, metric_value in result['metrics'].items(): # print(f"{metric_name}: {metric_value:.4f}") # else: # print(f"错误信息: {result['message']}") # print("-------------------------------------------模型训练 end ---------------------------------------------------") # print("--------------------------------------------模型预测 ---------------------------------------------------") # print(manager.predict(run_id = "33939ea6d8ce4d43a268f23f7361651e",\ # data_path="/home/admin-root/haotian/MLPlatform/dataset/dataset_processed/breast_cancer_20250219_145614/test_breast_cancer_20250219_145614.csv",\ # output_path="predictions/pred_breast_cancer_20250219_145614.csv" ,\ # metrics= ["accuracy", "f1", "precision", "recall"] )) # print("-------------------------------------------模型预测 end ---------------------------------------------------")