diff --git a/model_selection/hyperparam_tuning.py b/model_selection/hyperparam_tuning.py index bfd814119c92fb20bc7517359ce33d89eb7bd20f..ca31f54755e5da977c5d2f20e2cf1d133de94057 100644 --- a/model_selection/hyperparam_tuning.py +++ b/model_selection/hyperparam_tuning.py @@ -149,7 +149,7 @@ if __name__ == "__main__": # Use group of models with class weight if needed models = models_CS if j == 1 else models_simple # Save results: params and best score for each of the mdodels of this method and group - hyperparam_df = pd.DataFrame(index=list(models.keys()), columns=['Parameters','Score']) + hyperparam_df = pd.DataFrame(index=list(models.keys()), columns=['Best Parameters','Best Precision', 'Mean Precision', 'SD']) for model_name, model in models.items(): print(f"{group}-{method_names[j]}-{model_name}") # Find optimal hyperparams for curr model @@ -158,11 +158,18 @@ if __name__ == "__main__": search.fit(X,y) # Access the results results = search.cv_results_ - hyperparam_df.at[model_name,'Parameters']=search.best_params_ - hyperparam_df.at[model_name,'Best Precision']=round(search.best_score_,4) - hyperparam_df.at[model_name,'Mean Precision']= np.mean(results['mean_test_score']) - hyperparam_df.at[model_name,'SD']= np.std(results['std_test_score']) - + # Best parameters and best score directly accessible + hyperparam_df.at[model_name, 'Best Parameters'] = search.best_params_ + hyperparam_df.at[model_name, 'Best Precision'] = round(search.best_score_, 4) + # Finding the index for the best set of parameters + best_index = search.best_index_ + # Accessing the mean and std of the test score specifically for the best parameters + mean_precision_best = results['mean_test_score'][best_index] + std_precision_best = results['std_test_score'][best_index] + # Storing these values + hyperparam_df.at[model_name, 'Mean Precision'] = mean_precision_best + hyperparam_df.at[model_name, 'SD'] = std_precision_best + # Store the DataFrame in the dictionary with a unique key for each sheet sheet_name = f"{group}_{method_names[j]}" sheets_dict[sheet_name] = hyperparam_df diff --git a/model_selection/output_hyperparam/hyperparamers.xlsx b/model_selection/output_hyperparam/hyperparamers.xlsx index 11584750562141b2d42534cde438f9f0cb40a299..598578e577cf2b89b361f358a0fcc87f12b68552 100644 Binary files a/model_selection/output_hyperparam/hyperparamers.xlsx and b/model_selection/output_hyperparam/hyperparamers.xlsx differ