1
$\begingroup$

I have a model which produces no output for some inputs. What's a reasonable way to measure the performance of the model against a data set, taking the "missing output" into consideration?

And is there a sane way to compare this performance to a model with a continuous output?

For example...

The model I have is a classifier of the form:

IF input between 0 and 10 THEN true
ELSE if input between 11 and 20 THEN false

This model will produce no classification for inputs below 0 or above 20. This is by design: the induction process has decided this range of inputs is the predictable part of the problem.

To compute something like accuracy, I could treat "no output" as just being "wrong" (neither a true positive or true negative). But this doesn't seem right: I feel like I'm missing a bunch of ways to approach this situation.

Compare this to a logistic regression model, where I have the probability of some classification, and presumably a threshold for true/false classifications. In this case, ROC AUC might be commonly used. Is there any sane way to compare a logistic regression model to one which produces no output for some inputs?

Pointers much appreciated: I don't even have the right language to describe this situation.

$\endgroup$
6
  • $\begingroup$ Is there some "other" category that such instances fall into? I.e., do you actually have a three-way classification problem (TRUE, FALSE, OTHER)? $\endgroup$ Commented Sep 30, 2020 at 9:41
  • $\begingroup$ Good question: no, there are only two categories (true/false). All the training, validation, and test data has a true/false classification. $\endgroup$ Commented Sep 30, 2020 at 10:08
  • $\begingroup$ Hm. What would a correct classification for something look like where your tool gives "no prediction"? Should it be "error"? If such observations do occur and cannot be filtered out beforehand, then it does look to me like you might have three classes. Can you explain in a little more detail? $\endgroup$ Commented Sep 30, 2020 at 10:11
  • $\begingroup$ The tool is saying: for this case, I make no prediction. (As an illustration, if it was in a medical domain, it might be for some inputs saying cancer or not cancer, and in some cases saying "I don't know - I won't make a prediction"). I'm wondering how to consider that when talking about accuracy (and similar metrics) and in comparisons to other models. Treating it as a third class might be a way forward (a class in which is never occupied by the data, or other models). $\endgroup$ Commented Sep 30, 2020 at 10:18
  • $\begingroup$ I see. But a correct classification would be one of the two "real" classes, correct? $\endgroup$ Commented Sep 30, 2020 at 10:27

1 Answer 1

1
$\begingroup$

You essentially have a multiclass classification problem. If I understand correctly, you have two "real" classes, but your classifier might output not only one of these, but also a third "none of the above" class.

It actually does not matter whether this third "class" ever appears in your actual sample.

I would propose that you use a probabilistic classifier, which does not output hard 0-1 classifications, but class membership probabilities, which in extreme cases could be up to 100% for one class, and 0% for the others.

Then evaluate these predictions using proper , like the log score or the Brier score. (If you actually have 0% predictions for a class that does turn up, the log score will try to take $\log 0$ and throw an error, so the Brier score might be better.)

One consequence would be that a classifier that at least puts a little probability on the class that does turn up rather than being 100% certain for "none of the above" will be preferred (other things being equal). I assume this is what you want.

More info can be found at Evaluating multiclass imbalanced problem per class. You might also be interested in Why is accuracy not the best measure for assessing classification models? and Reduce Classification Probability Threshold. (Apologies for the shameless self-promotion. I just tend to be most familiar with threads I participated in.)

$\endgroup$
1
  • $\begingroup$ Thank you - thinking of the problem as multiclass makes sense. $\endgroup$ Commented Sep 30, 2020 at 14:49

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.