Составная метрика производительности для моделей классификации, переданных в 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'