I am currently working on a multi-label classification problem. I am using the scikit-multilearn library (further reading here)

I understand that train / test split is important for these types of problems - ensuring label combinations are represented well in both (scikit-multilearn implements their own split method for this purpose).

My current goal is to understand how this works so that I can evaluate it properly - I am reading from here primarily.

I am a little confused by the output of the get_combination_wise_output_matrix method. I understand at a high level it is giving me a breakdown of counts of label combinations for whatever order I specify.

Here is an example output I have observed: enter image description here

The first question I have is does (5, 5): 1, mean anything other than the label at index 5 appears once, and this number is repeated for... reasons?

Additionally I haven't yet found any literature evaluating how / when to use different orders (my current approach to this is to qualitatively evaluate a few different options that seem reasonable given the specific problem I am trying (desperately) to solve

Thanks in advance for any help!


1 Answer 1


So order here means how many possible combinations of labels you want to compare (e.g., order=1 would by how often does each label appear, order=2 would be how often any two combinations of labels appear with values like 5,5 meaning "rows that only have a label in index 5 and no other label, and where the max order should be the number of labels you have --> 23 in your case. If you set order=23 and if you had a row that only had a label in index position 4, one of our results would be a vector of 4 repeated 23 times.

I think what's weird for me is that I would expect to see the "only one label in index 4" presented as [0, 0, 0, 0, 1, 0, ,,, 0, 0] (== len 24) instead of [4, 4, 4, ... 4, 4] (== len 24).

Odd presentation for sure. Kind of like sparse matrix notation.


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.