Scikit learn Sklearn:使用OneVsRestClassifier和单独构建每个分类器之间的区别

Scikit learn Sklearn:使用OneVsRestClassifier和单独构建每个分类器之间的区别,scikit-learn,multilabel-classification,Scikit Learn,Multilabel Classification,据我所知,多标签问题可以通过一对所有方案来解决,对于该方案,Scikit learn实现了OneVsRestClassifier作为分类器上的包装器,如svm.SVC。我想知道如果我真的训练会有什么不同,比如说我们有一个多标签问题,有n个类,每个标签有n个单独的二进制分类器,然后分别对它们进行评估 我知道这就像是一种“手动”实现一对一的方式,而不是使用包装器,但是这两种方式实际上是不同的吗?如果是,它们有什么不同,比如在执行时间或分类器的性能方面 没有区别。对于多标签分类,sklearn one

据我所知,多标签问题可以通过一对所有方案来解决,对于该方案,Scikit learn实现了
OneVsRestClassifier
作为分类器上的包装器,如
svm.SVC
。我想知道如果我真的训练会有什么不同,比如说我们有一个多标签问题,有n个类,每个标签有n个单独的二进制分类器,然后分别对它们进行评估


我知道这就像是一种“手动”实现一对一的方式,而不是使用包装器,但是这两种方式实际上是不同的吗?如果是,它们有什么不同,比如在执行时间或分类器的性能方面

没有区别。对于多标签分类,sklearn one vs rest实现了您所描述的二进制相关性。

谢谢您的回答。如果两种方法相同,是否意味着多标签支持向量机的最终决策不像多类支持向量机那样依赖于到超平面的最大距离?也就是说,在测试时,因为一个实例可以属于多个类,所以不需要像我们在多个类的情况下那样寻求到超平面的最大距离。因此,在这样的多标签场景中,所有类的测试实例都可以预测为负值,而在多类场景中,一个实例必须预测为一个类。当前的(“内置”)多类策略是一对一。因此,ovr和ovo之间存在差异。在多标签中,ovo被称为成对比较排名。在这两种情况下,决策将取决于到超平面的距离。如果它对您有帮助,您可以将多标签分类视为几个相关的二进制分类任务。对不起,我可能没有说清楚。我关注的是一个vs rest(OVR)案例,在做出最终决策时,我想知道多类别(MC)和多标签(ML)场景之间的区别。在这两种情况下,OVR分解为n个二元分类器,在n个超平面中,MC选择距离测试实例最远的一个作为输出,而ML仅根据位置或负数分配实例。在每个二元分类器中签名,而不考虑距离。如果是这样,刚才描述的ML决策过程与我在OP中所做的相同。