Как указано в комментариях, процедура выбора порога производится после тренировки.Вы можете найти порог, который максимизирует функцию полезности по вашему выбору, например:
from sklearn import metrics
preds = classifier.predict_proba(test_data)
tpr, tpr, thresholds = metrics.roc_curve(test_y,preds[:,1])
print (thresholds)
accuracy_ls = []
for thres in thresholds:
y_pred = np.where(preds[:,1]>thres,1,0)
# Apply desired utility function to y_preds, for example accuracy.
accuracy_ls.append(metrics.accuracy_score(test_y, y_pred, normalize=True))
После этого выберите порог, который максимизирует выбранную функцию полезности.В вашем случае выберите порог, который максимизирует 1
в y_pred
.