2

如果一个数据集包含多个类别,例如 0-class、1-class 和 2-class。现在的目标是将新样本划分为 0-class 或non-0-class

一罐

  1. 将 1,2-class 组合成一个统一的 non-0-class 并训练一个二元分类器,
  2. 或者训练一个多类分类器来进行二分类。

这两种方法的性能如何?

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

4

1 回答 1

2

简短的回答:你必须同时尝试看看。

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

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

对于神经网络等算法,具有多个输出类更自然,我认为如果您的类 0、1 和 2 非常不同,训练多类分类器可能会更有益。但是,这意味着您必须选择一个更复杂的算法来适应所有这三个。但合身可能会更好。因此,如前所述,您确实必须尝试两种方法并使用良好的指标来评估性能(例如混淆矩阵、F-score 等)。

我希望这有点帮助。

于 2017-06-20T13:49:56.677 回答