用SVM进行多标记学习-scikit-multilearn中的BR算法模块
在研究多标记学习的过程中,接触到了python中的scikit-multilearn多标记学习库,网址如下:http://scikit.ml。其中有一个二元关联分类的例子
这里使用SVM作为基分类器使用BR算法。然而,在实验中出现了这样的错误:
定位到错误发生的位置base.py第525行
发现错误原因是训练模型的时候,数据集的某一种标记下的只有一类。也就是下面这种情况
第5列和第6列为样本的标记。其中第5列所有样本的类别都为1,SVM无法进行训练。
我接触的数据集中有一些是存在这种情况的,如:business,computer,corel5k等等。
也许这是该多标记学习库中的一个小BUG。个人愚见,如有问题,欢迎指出。