用于构建多类(相对于二进制)分类器的算法

Posted

技术标签:

【中文标题】用于构建多类(相对于二进制)分类器的算法【英文标题】:algorithm for building multi-class (versus binary) classifiers 【发布时间】:2015-12-27 18:36:46 【问题描述】:

我是一名学生,现在我正在研究文本分类。 我已经阅读了几篇关于此的论文。 但我刚刚发现有很多人使用朴素贝叶斯分类器。

i have 4 class to classify.
and i read that SVM can only classify thing into 2 class,..yes/no 1/0

除了 NBC 算法之外,还有什么算法可以构建分类器来将数据分成两个以上的类吗?

【问题讨论】:

检查this 【参考方案1】:

大多数机器学习技术都能够构建多类分类器,例如:

决策树(例如 C4.5)

神经网络通过 softmax(又名多层感知器,或 MLP)

LDA(线性判别分析)

朴素贝叶斯

支持向量机也经常用于多类分类(参见优秀的 scikit-learn 库中的 example),例如使用“一对多”归纳法方法。换句话说,数据在first SVM 上进行训练,以将数据分为 I ​​类与其他所有数据。然后将“其他所有”数据传递给 second SVM,该 SVM 将数据分为 II 类与其他所有数据,依此类推。

【讨论】:

很好,先生,我已经阅读了关于一对多的方法,但不像您的描述那样清楚,所以除了 NBC、SVM 或人工神经网络之外,还有其他选择(方法名称而不是域)吗? 不确定您所说的“方法名称而不是域”是什么意思,但根据您上面的评论,我添加了另外两种通常用于构建多类分类器的技术,它们特别适用于文本分类(我已经将它们用于此目的,实际上它们经常在 ML 教科书中被推荐用于这些用例)

以上是关于用于构建多类(相对于二进制)分类器的算法的主要内容,如果未能解决你的问题,请参考以下文章

用于多标签问题的 keras 模型的 scikit 学习链分类器的拟合方法错误

文本分类:多标签文本分类与多类文本分类

使用 3 个最高概率的多类分类器的性能

《机器学习实战》基于朴素贝叶斯分类算法构建文本分类器的Python实现

SVM+二分类+多分类

SVM实现多分类的三种方案