1
$\begingroup$

I'm dealing with a dataset that contains almost same number of positive and negative samples (there are around 55% of positive samples and 45% of negative samples). With XGBoost I'm managing to achieve around 94% accuracy and 2.5% of false positives but I'm willing to lower accuracy down if it means reducing number of false positives too. At the moment I'm using 'scale_pos_weight' parameter to achieve my goal and it works fairly well. By using 'scale_pos_weight' of 0.2 I'm getting 92.7% accuracy while my false positive rate drops to 0.8% which is great. I just want to know if maybe there is a better way to achieve false positive rate reduction? Objective function I'm using is 'binary:logistic'

$\endgroup$
1
  • $\begingroup$ Someone has written a guide about using custom loss functions to reduce false negatives. kaggle.com/code/konstantinpluzhnikov/… I am not certain, but I think it produces a better result than simply changing the threshold used in the ROC curve. $\endgroup$
    – Ismam Huda
    May 1, 2023 at 12:29

1 Answer 1

4
$\begingroup$

Just changing the threshold of the classification changes the FP rate.

I recommend you to investigate the ROC curve of your outputs.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.