如果数据集包含多个类别,例如0级、1级、2级。现在的目标是将新样本分为 0 类或非 0 类。
一个可以
- combine 1,2-class into a unified non-0-class and train a binary classifier,
- or train a multi-class classifier to do binary classification.
这两种方法的性能如何?
我认为更多的类别会带来更准确的判别面,但是1类和2类的权重都低于非0类,导致被判断为非0类的样本较少。
最佳答案
简短回答:您必须两种都尝试一下才能看到。
为什么?:这实际上取决于您的数据和您使用的算法(就像许多其他机器学习问题一样......)
对于许多分类算法(例如 SVM、逻辑回归),即使您想要进行多类分类,您也必须执行一对多分类,这意味着您必须处理类别 1 和2 类为同一类。因此,如果您只需要分离出 0,则运行多类场景是没有意义的。
对于像神经网络这样的算法,拥有多个输出类更为自然,我认为如果您的类 0、1 和 2 非常不同,那么训练多类分类器可能会更有益。但是,这意味着您必须选择更复杂的算法来满足这三个要求。但合身性可能会更好。因此,正如已经提到的,您确实必须尝试这两种方法并使用良好的指标来评估性能(例如混淆矩阵、F 分数等)
希望这对您有所帮助。
关于machine-learning - 训练多类分类器进行二元分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44392019/