Отсортируйте таблицу по возрастанию: сначала по значению метрики FPR, затем по ROC-AUC.
Чтобы вам не пришлось заново ждать результатов GridSearchCV, работайте сразу с таблицей cv_results.
import pandas as pd
pd.set_option('display.max_columns', None)
pd.set_option('display.max_colwidth', None)
# считываем таблицу с cv_results_
gs_multiscoring_results = pd.read_csv('cv_results.csv')
# избавьтесь от отрицательных значений метрики FPR
gs_multiscoring_results[
'mean_test_false_positive_rate'
] = gs_multiscoring_results['mean_test_false_positive_rate'] * -1
# сделайте сортировку по рейтингу модели: сначала FPR, затем ROC-AUC
gs_multiscoring_results_fpr = gs_multiscoring_results.sort_values(
by=['rank_test_false_positive_rate', 'rank_test_roc_auc_score']
)
# отобразим первые три строки таблицы и несколько столбцов
print(gs_multiscoring_results_fpr[[
'params',
'mean_test_roc_auc_score',
'rank_test_roc_auc_score',
'mean_test_false_positive_rate',
'rank_test_false_positive_rate'
]].head(3))
Результат
params \
0 {'max_depth': 2, 'min_samples_leaf': 1, 'min_samples_split': 2}
1 {'max_depth': 2, 'min_samples_leaf': 1, 'min_samples_split': 3}
2 {'max_depth': 2, 'min_samples_leaf': 1, 'min_samples_split': 4}
mean_test_roc_auc_score rank_test_roc_auc_score \
0 0.859582 61
1 0.859582 61
2 0.859582 61
mean_test_false_positive_rate rank_test_false_positive_rate
0 0.644863 1
1 0.644863 1
2 0.644863 1