Как работает make_scorer при использовании настраиваемых потерь с прогнозируемыми вероятностями в скоринге GridSearchCV?

Я использовал пользовательскую функцию потерь в качестве метода оценки в GridSearchCV. Мой набор данных классифицирован двоично, и я предсказываю на его основе вероятности, поэтому я установил needs_proba=True в .

      def custom_loss(y_true, y_pred):
    return mean_squared_log_error(y_true, y_pred, squared=False)

model = GridSearchCV(model_pipe, 
                     param_grid=param_grid, 
                     cv=StratifiedKFold(n_splits=5, random_state=73, shuffle=True), 
                     n_jobs=-1, 
                     scoring=make_scorer(custom_loss, greater_is_better=True, needs_proba=True),
                     refit=True,
        )

В документе есть следующее описание needs_proba:

Если True, для двоичного y_true, функция оценки должна принимать 1D y_pred (т. Е. Вероятность положительного класса, shape(n_samples,)).

Эта часть: «Предполагается, что функция оценки принимает 1D y_pred», для меня не совсем ясна.

Рассмотрение представляет собой одномерный массив ([1 0 0]) и представляет собой двумерный массив вероятностей ([0,9 0,1], [0,2 0,8], [0,3 0,7]). make_scorer автоматически учитывает положительные вероятности от y_pred ( y_pred[:,1]) позвонить в custom_loss функции и сравните их с y_true?

Спасибо!

0 ответов

Другие вопросы по тегам