In the documentation of sklearn, it says that several algorithms inherentrly support multilabel classification, such as RandomForest or MLP : https://scikit-learn.org/stable/modules/multiclass.html

Does it come from the implementation or the structure of the models? Moreover, how does it works for these algorithm? Is is a One-vs-the-Rest strategy or something else?



If the algorithm inherently supports multi-label classification, then it's usually an implicit feature of the algorithm rather than an implementation detail.

For example, MLPs inherently support multi-label classification because the output layer has a perceptron for each class, and each of these perceptrons output a probability for that class. The vector of outputs will predict an example's membership among all labels. Similarly, the the leaves of a Random Forest (or any other tree-based algorithm) can contain arbitrary-length vectors that describe the probability of the example belonging to each label.

The one-vs-rest strategy is used generalize binary classifiers (e.g. logistic regression) to multinomial problems. Multinomial problems are distinct from multi-label problems.


Clarified my answer w.r.t. the differences between multinomial and multi-label problems.


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.