Как указано в документации , оценка может принимать разные входные данные: строка, вызываемый, список / кортеж, dict или None.Если вы используете строки, вы можете найти список возможных записей здесь .
Там в качестве строкового представителя для потери журнала вы найдете "neg_log_loss", то есть отрицательную потерю журнала, которая представляет собой просто потерю журнала, умноженную на -1.Это простой способ справиться с проблемой максимизации (именно этого ожидает GridSearchCV, поскольку для нее требуется параметр оценки, а не параметр потерь) вместо минимизации (вы хотите минимальную потерю журнала, которая эквивалентна максимальнойотрицательная потеря журнала).
Если вместо этого вы хотите напрямую передать функцию потери журнала в GridSearchCV, вам просто нужно создать счетчика из функции Scikit-learn log_loss , используя make_scorer :
from sklearn import svm, datasets
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import log_loss, make_scorer
iris = datasets.load_iris()
parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}
svc = svm.SVC(gamma="scale", probability=True)
LogLoss = make_scorer(log_loss, greater_is_better=False, needs_proba=True)
clf = GridSearchCV(svc, parameters, cv=5, scoring=LogLoss)
clf.fit(iris.data, iris.target)
print(clf.best_score_, clf.best_estimator_)