5 votos

Spam filtrado utilizando los clasificadores bayesianos ingenuos con el paquete e1071/klaR en R

Estoy mirando de hacer texto clasificación/spam filtrado usando clasificadores de bayesiano ingenuo con el paquete e1071 o klaR en R. ¿Hay un buen tutorial para describir esto? Tipo de estoy atrapado porque no estoy seguro de qué usar como los datos para el ingreso en la función de NaiveBayes.

Ayuda muy apreciada, gracias!

8voto

DavLink Puntos 101

El NaiveBayes() función en el klaR paquete obedece a la clásica formula R de la interfaz mediante la cual se expresa el resultado como una función de sus predictores, por ejemplo spam ~ x1+x2+x3. Si los datos se almacenan en un data.frame, puede introducir todos los predictores en el lado derecho de la fórmula usando la notación de punto: spam ~ ., data=df significa "spam como una función de todas las demás variables presentes en el data.frame llamado df."

Aquí es un juguete ejemplo, el uso de la spam conjunto de datos discutidos en los Elementos de Aprendizaje Estadístico (Hastie et al., Springer, 2009, 2ª ed.)., disponible on-line. Esto realmente es para empezar con el uso de la función de R, no en los aspectos metodológicos para el uso de NB clasificador.

data(spam, package="ElemStatLearn")
library(klaR)

# set up a training sample
train.ind <- sample(1:nrow(spam), ceiling(nrow(spam)*2/3), replace=FALSE)

# apply NB classifier
nb.res <- NaiveBayes(spam ~ ., data=spam[train.ind,])

# show the results
opar <- par(mfrow=c(2,4))
plot(nb.res)
par(opar)

# predict on holdout units
nb.pred <- predict(nb.res, spam[-train.ind,])

# raw accuracy
confusion.mat <- table(nb.pred$class, spam[-train.ind,"spam"])
sum(diag(confusion.mat))/sum(confusion.mat)

Un recomendado paquete de complementos para tales ML tarea es el símbolo de intercalación paquete. Ofrece un montón de herramientas útiles para el preprocesamiento de datos, manejo de entrenamiento/prueba de muestras, ejecución de diferentes clasificadores en los mismos datos, y resumir los resultados. Está disponible desde CRAN y tiene un montón de viñetas que describen las tareas comunes.

0voto

araroot Puntos 96

Hay un nuevo libro fuera llamado: aprendizaje automático de correo electrónico: filtrado de Spam y la bandeja de entrada de prioridad http://www.amazon.com/Machine-Learning-Email-Filtering-Priority/dp/1449314309/ref=sr_1_1?s=books&ie=UTF8&qid=1323836340&sr=1-1

He ojeado el contenido y los autores explican el filtro de spam Bayesiano.

HTH

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X