Составная метрика производительности для моделей классификации, переданных в GridSearchCV

      def composite_metric(model, x, y_true, λ):
    y_predicted = model.predict(x)
    y_proba = model.predict_proba(x)
    composite = λ/2*matthews_corrcoef(y_true,y_predicted) + \
                λ/2*roc_curve(y_true, y_proba) + \
                λ*neg_pred_value(y_true,y_predicted)
    return composite
composite_score = make_scorer(composite_metric, λ=0.4)
search_ddnn = GridSearchCV(estimator = ENLR, param_grid=param_grid
                           , scoring=composite_score
                           , cv=cv, n_jobs=-1, verbose = 4)

Я хочу, чтобы код передал составную метрику для GridSearchCV, которая использует как y_predicted, так и predict_proba, в модель классификатора. Приведенный выше код возвращает следующую ошибку при вызове fit для GridSearchCV:

      TypeError: composite_metric() missing 1 required positional argument: 'y_true'

0 ответов

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