用于Python内容分类的Orange与NLTK

phi*_*o20 10 python machine-learning nltk orange naivebayes

我们需要一个内容分类模块.贝叶斯分类器似乎是我正在寻找的.我们应该选择Orange还是NLTK?

dou*_*oug 23

正如文档所证明的那样,每个库中的Naive Bayes实现都很容易使用,那么为什么不用两者运行数据并比较结果呢?

Orange和NLTK都是成熟,稳定的图书馆(每个图书馆都有10年以上的发展历史),起源于大型大学; 它们共享一些共同特征,主要是机器学习算法 除此之外,它们在范围,目的和实现方面都有很大差异.

Orange是域不可知的 - 不是针对特定的学科或商业领域,而是将自己宣传为全栈数据挖掘和ML平台.它的重点是工具本身,而不是特定学科中这些工具的应用.

其功能包括IO,数据分析算法和数据可视化画布.

另一方面,NLTK开始并且仍然是大型大学计算语言学系的学术项目.您提到的任务(文档内容分类)和您选择的算法(朴素贝叶斯)几乎是NLTK功能的核心.NLTK确实具有ML /数据挖掘算法,但这仅仅是因为它们在计算语言学中具有特定的实用性.

NLTK当然包括一些ML算法,但仅仅因为它们在计算语言学中有用,还有文档解析器,标记器,词性分析器等 - 所有这些都包含NLTK.

也许Orange中的Naive Bayes实现同样出色,我仍然会选择NLTK的实现,因为它明显针对您提到的特定任务进行了优化.

有很多关于NLTK的教程,特别是它的朴素贝叶斯使用内容分类.例如,Jim Plus的另一篇博客文章和streamhacker.com的博客文章提供了使用NLTK朴素贝叶斯的优秀教程; 第二部分包括对访问该模块所需代码的逐行讨论.这两篇文章的作者都报告了使用NLTK的良好结果(前者为92%,后者为73%).

  • 总是对我得到的答案的深度感到惊讶,谢谢. (3认同)