训练用于二进制分类的多类分类器

时间:2017-06-06 13:56:07

标签: machine-learning multiclass-classification

如果数据集包含多个类别,例如0级,1级和2级。现在的目标是将新样本分为0级或非0级

一个人可以

  
      
  1. 将1,2-class组合成统一的非0级并训练二进制分类器
  2.   
  3. 或训练多类分类器进行二元分类。
  4.   

这两种方法的表现如何?

我认为更多类别会带来更准确的判别表面,但是1级和2级的权重都低于非0级,导致更少的样本被判断为非0级。 / p>

1 个答案:

答案 0 :(得分:1)

简短回答:你必须尝试两种方式才能看到。

为什么?:这实际上取决于您使用的数据和算法(就像许多其他机器学习问题一样......)

对于许多分类算法(例如SVM,Logistic回归),即使您想要进行多类分类,也必须执行一对一分类,这意味着您必须处理类1和2级作为同一个班级。因此,如果您只需要将0分开,那就没有必要运行多类场景。

对于像神经网络这样的算法,其中有多个输出类更自然,我认为如果0,1和2类非常不同,训练多类分类器可能会更有益。但是,这意味着您必须选择更复杂的算法来适应所有三种算法。但合适可能会更好。因此,正如已经提到的,你真的必须尝试两种方法并使用一个好的度量来评估性能(例如混淆矩阵,F分数等)。

我希望这有点帮助。