问题
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.
回答1:
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.
回答2:
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.
来源:https://stackoverflow.com/questions/17819311/multi-label-classification-in-python