假设我有以下自定义损失函数,我正在使用sci-kit learn。在这种情况下,我仅对模型得分高于0.8的观察结果进行评分。
然而,我有点困惑第三个参数应该放在
def customLoss(y_true, y_pred):
a = pd.DataFrame({'Actuals':y_true, 'Preds': y_pred})
a = a.query('Preds > 0.8')
return(precision_score(a['Actuals'], a['Preds']))
param_grid = {'C': [0.001, 0.01, 0.1, 1, 10]}
scorer = make_scorer(mf.customLoss ,greater_is_better = True)
grid = GridSearchCV(LogisticRegression(class_weight = 'balanced'), param_grid = param_grid, scoring = scorer, cv = 5)
不过,假设我想要将阈值(0.8)设置为可配置项。显然,我需要像这样在我的损失函数中添加第三个参数:
def customLoss(y_true, y_pred, threshold):
a = pd.DataFrame({'Actuals':y_true, 'Preds': y_pred})
a = a.query('Preds > @threshold')
return(precision_score(a['Actuals'], a['Preds']))
然而,我有点困惑第三个参数应该放在
make_scorer
函数的哪里?