I trained a classification model on some data with two classes and have really low accuracy. I have a false-positive rate of 86 % for both classes I am trying to predict. I was wondering if I could get a good Classifier in the following way (described in pseudocode, where x is a data point and Classifier(x) is my bad classifier applied to x.)

    for a point x:
        if Classifier(x) gives Class 1
            return Class 2.
        else Classifier(x) gives Class 2
            return Class 1.

Basically, I would ask a new classifier to choose the opposite of whatever my bad classifier chose. Is this valid? Am I right in thinking that I will get a 86 % true positive rate for both classes? I would love any intuition on the creation of such a classifier.

Thanks in advance.

  • $\begingroup$ What are the frequencies of the two classes in your data set? $\endgroup$ – jbowman Sep 24 '18 at 16:52
  • $\begingroup$ The frequencies should be 50/50 $\endgroup$ – Samuel Polk Sep 24 '18 at 16:55
  • $\begingroup$ Are you sure you're interpreting the output correctly? Randomly choosing the class with a 50% probability of choosing each class would generate a 50% false positive rate on average, as would just picking one of the two classes all the time - hard to see how a model would do far worse than that. $\endgroup$ – jbowman Sep 24 '18 at 17:45

Your Answer

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

Browse other questions tagged or ask your own question.