machine-learning - 训练多类分类器进行二元分类

标签 machine-learning multiclass-classification

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

一个可以

  1. combine 1,2-class into a unified non-0-class and train a binary classifier,
  2. 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/

相关文章:

machine-learning - 端到端时尚卷积神经网络(CNN)是什么意思?

python - 如何不让一个超平面影响多类线性核SVM的决策?

performance - 为什么这个深度学习模型在 CPU 上的推理速度比 GPU 更快?

machine-learning - DBSCAN 的距离函数

python - SHAP:如何解释 force_plot 的预期值?

xgboost - 如何在xgboost的多类分类中为不平衡数据设置权重?

python-3.x - 值错误: The number of class labels must be greater than one in Passive Aggressive Classifier

python - 如何使 one_class svm 用于多类分类?

machine-learning - 如何理解多类神经网络的输出

python - 在哪里可以找到 Keras 配置文件?