Given a classifier working with double values e.g. between 0 and 1. There are two classes with different ranges. Their distributions are uniform, however, one class is more likely.

Is picking always the class with higher likelihood the best classifier, in case a value lies in both ranges?

I make an example if my question was unclear. A number representing e.g. weight between 0 and 1 kg is to classify. There are two object classes. One between 0.1 and 0.6 kg and one between 0.4 and 0.8 kg. Both uniform distributed, but the first more likely.

Intuitively one tries to calculate a threshold depending on the likelihood of the class. My assumption however is, that picking the first class till 0.6 results in least misclassification. Just because the first class is more likely. No difference if 1.1 times or 5 times more likely.


It depends on what you mean by "best".

If your aim is the highest accuracy, then yes, you should output the class with the highest predicted probability for each instance. This may well mean that you classify everything as the same class.

Note that maximizing accuracy is usually not a good objective function. You need to take the costs of both types of error into account when you base decisions on probabilistic predictions, or even have more than two classes. For instance, in a medical classification task, even if the "true" classes are "tumor"/"not a tumor", your output may well be "definitely a tumor"/"definitely not a tumor", or "unsure, get more data". See here and here and here and here.

  • $\begingroup$ thank you for your answer! i see your concerns. i definitely wouldn't accept this for some software ready for the market. i'm just theoretically wondering if this is the right solution. $\endgroup$ – Mr.Sh4nnon Aug 4 '18 at 19:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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