Question

I am beginning to use Pybrain which good neural networks algorithms. If anybody is familiar with it already, is the package capable of doing multi-label classification as well? Multi-label is different from multi-class classification because an instance can have more than one class as their output/target.

Was it helpful?

Solution

Your question is a bit vague.

Yes

I believe I've understood you correctly, and yes PyBrain is capable of doing such a task. Neural networks in Pybrain are capable (through supervised learning1 ) of doing instance classification through multi-labeling the input values.

Just a tip:

Since you are performing a logical separation of the input instances I recommend using the sigmoid logistic function given that your input are in the range of [0, 1]. If your input range is the Real Numbers, the tanh has proven a lot faster on average2


Example outputs

    # The outputs are sqashed by the sigmoid( ) function

    0 1 1 0 # class one
    1 1 1 0 # class one
    0 0 1 0 # class two
    0 1 1 1 # class two
    0 0 1 0 # class three



1 I've not studied unsupervised learning, so I dare not state otherwise.
2 See this for a quick benchmark.

OTHER TIPS

Just in case, if it helps, Scikit-multilearn is another package which supports multi-label classification using deep learning libraries like theano, tensorflow, keras and scikit-neuralnetworks.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top