ventajas usos teorema redes modelo mezcla las estrategias ejemplo desventajas construir como clasificador bayesiano bayesianas bayes python spam-prevention bayesian bayesian-networks

usos - Biblioteca bayesiana de filtrado de spam para Python



teorema de bayes python (6)

¿Quieres filtrado de spam o clasificación bayesiana?

Para la clasificación bayesiana hay una serie de módulos de Python. Hace poco estuve revisando Orange, que se ve muy impresionante. R tiene una cantidad de módulos bayesianos. Puedes usar Rpy para conectar con R.

Estoy buscando una biblioteca de Python que haga filtro de spam de Bayes. Miré SpamBayes y OpenBayes, pero parece que ambos no se han mantenido (podría estar equivocado).

¿Alguien puede sugerir una buena biblioteca de Python (o Clojure, Common Lisp, incluso Ruby) que implemente el filtrado de spam bayesiano?

Gracias por adelantado.

Aclaración : en realidad estoy buscando un clasificador Bayesiano de spam y no necesariamente un filtro de spam. Solo quiero entrenarlo usando algunos datos y luego decir si algunos datos son spam. Perdón por cualquier confusión.


Intenta usar bogofilter , no estoy seguro de cómo se puede usar desde Python. Bogofilter está integrado con muchos sistemas de correo, lo que significa una relativa facilidad de interconexión.


SpamBayes se mantiene y está maduro (es decir, funciona sin tener que tener nuevas versiones todo el tiempo). Hará fácilmente lo que quieras. Tenga en cuenta que SpamBayes es solo Bayesiano (usa la combinación chi-cuadrado), pero presumiblemente busca cualquier tipo de clasificación estadística basada en token, en lugar de algo específicamente bayesiano.


Un módulo en el kit de herramientas de lenguaje natural de Python (nltk) tiene una clasificación bayesiana ingenua: nltk.classify.naivebayes .

Descargo de responsabilidad: Sé basura sobre la clasificación bayesiana, ingenuo o mundano.


Prueba Reverend . Es un módulo de filtrado de spam.


RedisBayes se ve bien conmigo:

http://pypi.python.org/pypi/redisbayes/0.1.3

En mi experiencia, Redis es una increíble adición a su stack y puede ayudar a procesar datos a velocidades vertiginosas en comparación con MySQL, PostgreSQL o cualquier otro RDBMS.

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'')

Espero que esto ayude un poco.