setting the threshold at we see that we can still achieve precision of above percentdetecting good answers when we accept low recall of percent this means that we will detect only one in three bad answersbut those answers that we manage to detect we would be reasonably sure of to apply this threshold in the prediction processwe have to use predict_ proba()which returns per class probabilitiesinstead of predict()which returns the class itselfthresh threshold[idx ][ probs_for_good clf predict_proba(answer_features)[:, answer_class probs_for_good>thresh we can confirm that we are in the desired precision/recall range using classification_reportfrom sklearn metrics import classification_report print(classification_report(y_testclf predict_proba [:, ]> target_names=['not accepted''accepted'])not accepted accepted avg total precision recall -score support using the threshold will not guarantee that we are always above the precision and recall values that we determined previously together with its threshold