用于构建多类(相对于二进制)分类器的算法
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 学习链分类器的拟合方法错误