【问题标题】:Algorithm for Multi-Class Classification of News Article新闻文章的多类分类算法
【发布时间】:2014-05-09 04:17:53
【问题描述】:

我想将新闻文章归入它所属的类别。我有 4 类新闻,例如“技术、体育、政治和健康”。我已经为每个类别收集了大约 50 个文档作为训练集

**训练数据足够分类吗???我应该使用哪种算法进行分类? SVM、随机森林、Knn、??

我正在为我的任务使用 Scikit-learn http://scikit-learn.org/ [python] 库

谢谢

【问题讨论】:

  • 数据足以训练,但我怀疑您对新数据的准确性会很高。
  • 如果你使用朴素贝叶斯很好,因为它也适用于小型训练集。但我建议您使用更多的训练数据,因为随着训练数据量的增加,准确度也会提高。

标签: machine-learning scikit-learn svm random-forest document-classification


【解决方案1】:

有很多方法可以解决这个问题,从 CRF 到随机森林。

由于您的训练数据有限,我建议您使用具有高偏差的模型,例如线性 SVM。从为每个类训练一个与所有模型开始,并预测可能性最高的类。这将为您提供给定训练数据的问题难度基准。

【讨论】:

  • 对 90% 的数据进行训练,然后查看未用于训练的 10% 的错误是什么。这将使您估计问题的难度。你需要多少训练数据的答案总是“更多”。另外,请记住,如果 99% 的示例都来自同一类,则很容易达到 99% 的准确率。
【解决方案2】:

我更喜欢你使用 Naive-Bayes 分类。有一个名为 Ling-pipe 的工具已经实现了。你想做的只是参考

http://alias-i.com/lingpipe/demos/tutorial/classify/read-me.html

您有一个小示例程序 Classifynews.java。通过训练数据并应用测试来运行该程序。训练数据样本以“20 个新闻组”的形式给出

http://qwone.com/~jason/20Newsgroups/

可以通过训练数据来应用训练,如果需要,您可以构建一个中间模型,然后将测试数据应用到该模型中。朴素贝叶斯适用于训练数据较小的情况。

但它的准确性会随着训练数据量的增加而增加。所以尝试包括更多的新闻组。祝你好运。试试这个,让我知道

【讨论】:

    猜你喜欢
    • 2014-10-03
    • 1970-01-01
    • 2011-04-06
    • 2018-09-13
    • 2020-09-28
    • 1970-01-01
    • 2019-08-30
    • 2012-04-08
    • 2011-12-28
    相关资源
    最近更新 更多