Search code examples
pythonneural-networkpybrain

multi-label classification in python


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.


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.