2010-04-05 125 views
20

我已经尝试了朴素贝叶斯分类的橙色框架。这些方法是非常不直观的,文件是非常无组织的。这里有人有另一个框架推荐?Python中的任何朴素贝叶斯分类器?

我现在主要使用NaiveBayesian。我正在考虑使用nltk的NaiveClassification,但是他们认为他们不能处理连续变量。

我有什么选择?

回答

9

如果您正在处理自然语言,请查看Natural Language Toolkit

如果你正在寻找别的东西,这里有一个简单的search on PyPI

pebl似乎处理连续变量。

+0

有什么,你知道它允许连续变量? – disappearedng 2010-04-05 20:03:46

+0

[pebl教程](http://ano.malo.us/pebl/docs/tutorial.html)涵盖了离散化,所以我认为它至少可以通过该方法处理连续变量。 – 2010-04-05 20:24:25

13

This可能是一个很好的开始。它是用于朴素贝叶斯分类器的python实现的完整源代码(文本解析器,数据存储器和分类器)。虽然它是完整的,但它仍然足够小以在一个会话中消化。我认为代码编写得很好,并且评论得很好。这是编程集体智能的源代码文件的一部分。

要获得源代码,请从主文件夹'PCI_Code'中单击链接dl并解压zip,然后转到具有python源文件'docclass.py'的文件夹'第6章'。这是贝叶斯垃圾邮件过滤器的完整源代码。训练数据(电子邮件)保存在同一文件夹('test.db')中的sqlite数据库中。您需要的唯一外部库是python与sqlite(pysqlite)的绑定;如果你还没有安装,你也需要sqlite本身)。

+1

我还可以为Toby的书添加一个插件,非常好。如果你正在使用他的源代码,那么支持他可能是件好事!最重要的是,该文件显示,如果删除所有SQL处理,则朴素贝叶斯系统只有几行。如果你正在寻找一个小的,你可以非常简单地制作你自己的。重要的功能只是'fprob'和'weightedprob'和'naivebayes.classify' – Ian 2011-11-20 21:23:55

+0

我发现编程Collective Intelligence中的源代码非常糟糕(可能是因为它是用Python的一个旧的和丑陋的版本编写的)。尽管有难看的代码,但我强烈推荐本书介绍机器学习。 – Buttons840 2014-01-06 21:44:15

+1

下载链接已损坏。有谁知道新的链接? – krasnaya 2014-09-16 20:37:41

24

scikit-learn具有高斯朴素贝叶斯分类器的implementation。通常,这个库的目标是在易于阅读和使用的代码和效率之间提供良好的折衷。希望它应该是一个学习算法工作的好图书馆。

0

还有SpamBayes,我认为它可以用作普通的朴素贝叶斯分析器,而不仅仅是垃圾邮件。

3

我发现Divmod Reverend是最简单和最容易使用的Python贝叶斯分类器。

+0

链接中断。 https://开头github上。com/MostAwesomeDude/divmod-docs似乎有效 – Quamis 2013-01-20 15:16:41

+0

链接仍然适用于我... – Cerin 2013-01-20 19:49:32

+0

是的,没有工作昨天当我尝试虽然 – Quamis 2013-01-20 22:40:45