I have around 1000 rows of data with 9 labels. Each label can be either 1 or 0. Out of 9 labels I have 1 label which has 600 1s , 3 labels which have around 300 1s rest are having around 50 1s. I tried building classifier chains, however I see the precision and recall for minority classes are too low. What would be the best way to deal with this?

  • $\begingroup$ Welcome to DataScienceSE. Why do you build classifier chains? In multilabel classification the labels are supposed to be predicted independently from each other. $\endgroup$
    – Erwan
    Aug 12 at 23:00
  • $\begingroup$ Thank you. When are we supposed to use classifier chains? I thought classifier chains helped capture correlation between the labels. $\endgroup$ Aug 13 at 4:36
  • 1
    $\begingroup$ Sorry I just saw that my comment was misguided: I didn't know about this kind of classifier chains for multi-label classification, you're right that the method seems appropriate. In general it's not recommended to change the distribution of the classes, and in this specific case of classifier chains I think that it would break the statistical dependency between labels. That's probably not the answer you're looking for, but it's often unavoidable that small classes get poor performance. $\endgroup$
    – Erwan
    Aug 13 at 10:37

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.