我正在寻找一个进行贝叶斯垃圾邮件过滤的Python库.我查看了SpamBayes和OpenBayes,但两者似乎都没有维护(我可能错了).
任何人都可以建议一个很好的Python(或Clojure,Common Lisp,甚至Ruby)库实现贝叶斯垃圾邮件过滤?
提前致谢.
澄清:我实际上在寻找贝叶斯垃圾邮件分类器,而不一定是垃圾邮件过滤器.我只想用一些数据训练它,然后告诉我一些给定的数据是否是垃圾邮件.对不起任何困惑.
试试牧师.这是一个垃圾邮件过滤模块.
您想要垃圾邮件过滤还是贝叶斯分类?
对于贝叶斯分类,有许多Python模块.我刚刚回顾Orange,看起来非常令人印象深刻.R有许多贝叶斯模块.你可以使用Rpy挂钩到R.
RedisBayes对我很好看:
http://pypi.python.org/pypi/redisbayes/0.1.3
根据我的经验,与MySQL,PostgreSQL或任何其他RDBMS相比,Redis是您堆栈的一个很棒的补充,可以帮助以极快的速度处理数据.
import redis, redisbayes rb = redisbayes.RedisBayes(redis=redis.Redis()) rb.train('good', 'sunshine drugs love sex lobster sloth') rb.train('bad', 'fear death horror government zombie god') assert rb.classify('sloths are so cute i love them') == 'good' assert rb.classify('i fear god and love the government') == 'bad' print rb.score('i fear god and love the government') rb.untrain('good', 'sunshine drugs love sex lobster sloth') rb.untrain('bad', 'fear death horror government zombie god')
希望有点帮助.