Для данного словаря params = {'max_depth': [15,20,35,20,20], 'min_samples_split': [1,5,5,3,2], 'n_estimators': [50, 50,50,10,10]}
С помощью приведенного ниже кода вы можете получить требуемый результат: {'max_depth': 20, 'min_samples_split': 5, 'n_estimators': 50}
from statistics import mode
d = {'max_depth': [15,20,35,20,20], 'min_samples_split': [1,5,5,3,2], 'n_estimators': [50,50,50,10,10]}
max_params = {}
for key, value in d.items():
max_params[key] = mode(d[key])
Вы также можете использовать модуль сбора:
from collections import Counter
d = {'max_depth': [15,20,35,20,20], 'min_samples_split': [1,5,5,3,2], 'n_estimators': [50,50,50,10,10]}
max_params = {}
for key, value in d.items():
max_params[key] = Counter(d[key]).most_common(1)[0][0]
Подробнее о коллекциях читайте: https://docs.python.org/2/library/collections.html
Теперь вы можете использовать любой из вышеперечисленных блоков кода в вашей функции, чтобы получить наиболее частые параметры