Clasificador Naive Bayes para Filtrar Correo Electrónico
1. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA 1
Algoritmos de Clasificación: Comparación del
Algoritmo Naive Bayes con Otras Metodologías
Para la Clasificación de Correo Electrónico No
Deseado
Pablo Antonio Alvarado Ruiz paalvarador@gmail.com
Abstract—En la actualidad el correo electrónico se ha conver- Esto es muy perjudicial para los usuarios, ya que sus buzones
tido en una de las herramientas mas importantes y utilizadas de entrada comienzan a llenarse de información que ellos no
para enviar y recibir información, tanto para las empresas como han solicitado y pierden mucho tiempo en tratar de identificar
para los usuario comunes. Lamentablemente al correo electrónico
también se lo ha utilizado para enviar información que no es si los correos que les llegan son legitimos o correo spam.
del interes de muchos usuarios, información que es conocida Por esta razón dentro del campo de la Inteligencia Artificial,
como correo basura o correo electrónico no deseado. Es por se han tomado medidas para poder analizar dicho contenido
esto, que en este artículo se presenta una introducción a lo que de los mensajes aplicando técnicas de aprendizaje automático
se conoce como correo electrónico no deseado y algunos conceptos y de esta manera clasificarlos como correo legítimo o correo
de aprendizaje automático, además se presenta las técnicas que
han sido aplicadas en el campo de la inteligencia artificial para no deseado.
evitar el problema del correo electrónico no deseado. También Para solucionar el problema del correo electrónico no de-
se propone una solución utilizando el clasificador Naive Bayes, seado se pueden utilizar una gran variedad de algoritmos de
y se presenta una comparación con las demás técnicas. Además clasificación. Como se menciona en [15], los algoritmos de
se presentan algunos trabajos relacionados que han ayudado a aprendizaje son usados en numerosos ambitos y las métricas
la clasificación del correo electrónico para diferenciar el correo
electrónico legítimo del correo electrónico no deseado.
de rendimiento son apropiadas para cada dominio. En esta
investigación se utilizará el algoritmo de clasificación Naive
Index Terms—Red Bayesiana, Aprendizaje Automático, Spam, Bayes que esta enmarcado dentro de los metodos bayesianos.
Clasificador Naive Bayes, Clasificador J48, Clasificador IBk,
Los métodos bayesianos son de gran importancia porque
Clasificador ADTree
no solamente ofrecen un análisis cualitativo de los atributos
y valores que pueden intervenir en el problema, sino porque
I. I NTRODUCCIÓN dan gran importancia al análisis cuantivativo de esos atributos.
OMO se menciono, en la actualidad el correo electrónico Como se menciona en [12], entre las caracteristicas que poseen
C se ha convertido en uno de los canales de comunicación
más importantes tanto para las empresas como para los usuar-
los métodos bayesianos en tareas de aprendizaje se pueden
resaltar las siguientes
ios comunes, y es por esto que es muy utilizado para el • Cada ejemplo observado va a modificar la probabilidad
negocio electrónico publicitario. Como se dice en [1], el correo de que la hipótesis formulada sea correcta ya sea aumen-
electrónico es un medio de comunicación eficiente y cada vez tandola o disminuyendola. Es decir, una hipótesis que no
más popular. Al ser extremadamente económico y facil de concuerda con un conjunto de ejemplos más o menos
enviar, es tambien un negocio para el comercio electronico. grande no es desechada por completo sino que lo que
Por esta razón, la mayoria de empresas ha utilizado el correo harán será disminuir esa probabilidad estimada para la
electrónico para enviar información de sus productos que hipótesis.
• Estos métodos son robustos al posible ruido presentes en
generalmente no es del interes de la mayoria de los usuarios.
Esta información es conocida como correo electronico no los ejemplos de entrenamiento y a la posibilidad de tener
deseado o spam. entre esos ejemplos de entrenamiento datos incompletos
Como se dice en [2], spam es el termino que se emplea o posiblemente erróneos.
• Los métodos bayesianos permiten tener en cuenta en
comúnmente para designar el correo electrónico no solicitado
que se envia a través de internet. La información que se envia la predicción de la hipótesis el conocimiento a priori
através de este tipo de correo generalmente es para ofrecer o el conocimiento del dominio en forma de probabili-
productos o promociones, además de contenido pornográfico. dades. El problema puede surgir al tener que estimar ese
Como se menciona en [3], el contenido de un mensaje spam conocimiento estadístico sin disponer de datos suficientes.
es variopinto, pero siempre dentro de los mismos márgenes: II. E STADO DEL ARTE
ofertas de cualquier tipo de producto, ofertas para hacerse
A. Redes Bayesiana
ricos en poco tiempo, y sobre todo, conteido pornográfico.
Las redes bayesianas formalemente son gráficos acíclicos
Your name is with xyz Department. . . dirigidos, cuyos nodos representan variables y los arcos que
2. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA 2
los unen representan dependencias entre las variables. La conocimiento que es capaz de capturar esta información sobre
estructura de una red Bayesiana provee información sobre las dependencias entre las variables son las redes bayesianas.
las relaciones de dependencia e independencia condicional
existentes entre las variables. Estas relaciones simplifican la C. Clasificador Naive Bayes
representación de la función de probabilidad conjunta como El clasificador de Naive Bayes es un clasificador probabilís-
el producto de las funciones de probabilidad condicional de tico basado en el teorema de Bayes. Desde la perspectiva del
cada variable [16]. aprendizaje automático, el problema del correo electrónico no
Por tanto, el proceso de estimación de una red Bayesiana deseado puede ser tratado como un problema de clasificación
consiste de una etapa de aprendizaje estructural y una etapa binaria, es decir cuando el correo electrónico es clasificado
de aprendizaje paramétrico[17]. La primera etapa consiste en como legítimo, es considerado como una instancia negativa (-
obtener la estructura de una red y la segunda etapa consiste ) y cuando el correo eletrónico es clasificado como spam o no
en estimar los parámetros de las funciones de probabilidad deseado, es considerado como una instancia positiva (+) [10].
condicional. A continuación se presenta el teorema de Bayes en la
ecuación 1 [11].
B. Aprendizaje Automático
P (D|h)P (h)
El aprendizaje automático se refiere a la capacidad que se P (h|D) = (1)
les da a las computadoras de poder resolver problemas por si P (D)
solas y poder conseguir los mismos o mejores resultados que Donde:
si lo haria un operador humano. Segun [4], para conseguir esto • P (h) es la probabilidad a priori de la hipotesis h.
primero debemos ser capaces de indicarle al computador de • P (D)es la probabilidad de observar el conjunto de en-
donde debe aprender, cual es el objetivo que tiene que cumplir, trenamiento D, cuando es usado para clasificar.
y que tipo de resultado esperamos que nos ofrezca. Por lo • P (D|h) es la probabilidad de observar el conjunto de
tanto esto nos lleva a decir que el aprendizaje automático es entrenamiento D en un universo donde se verifica la
un proceso de inducción y deducción y el proceso se lo realiza hipótesis h.
como se muestra en la figura 1. • P (h|D) es la probabilidad a posteriori de h, cuando se
ha observado el conjunto de entrenamiento D.
Se puede apreciar en la formulación del teorema que:
• La probabilidad a posteriori de h, que en el caso del
problema del correo electrónico seria la probabilidad de
clasificar un nuevo correo como legítmo o spam, obser-
vando el conjunto de entrenamiento D, es directamente
proporcional a la probabilidad de que se de h (P (h)).
• La probabilidad a posteriori de h es también directamente
proporcional a la probabilidad de que se de el conjunto
de entrenamiento D, siendo correcta (P (D|h)).
El aprendizaje bayesiano puede verse como el proceso de
encontrar la hipótesis más probable, dado un conjunto de
ejemplos de entrenamiento D y un conocimiento a priori sobre
la probabilidad de cada hipótesis [12]. En la ecuación 2 se
muestra el cálculo de la hipótesis con mayor probabilidad a
posteriori.
Figure 1. Proceso de inducción y deducción. [4]
P (D|h) P (h)
Como podemos observar en la Figura 1, el primer paso hM AP = argmaxh H (2)
P (D)
a seguir dentro de este modelo es entrenar a la maquina
En donde D son los datos de entrenamiento y h cada una
mediante ejemplos y para esto se deben aplicar los algorit-
de las hipótesis, en este caso correos electrónicos que se tiene
mos de aprendizaje automático para obtener un modelo de
que clasificar. El subindice MAP es el Maximo Posteriori. Es
clasificación y optimización. Finalmente los nuevos casos,
decir, se clasifica la instancia como aquella que tiene máxima
son comparados con el modelo resultante y deacuerdo a eso
probabilidad a posteriori.
se los van clasificando en una categoria específica según
Lamentablemente el cálculo de esta ecuación no se la puede
corresponda.
tomar para un número suficientemente grande de ejemplos, por
Un aspecto importante en el aprendizaje inductivo es el de
lo que es necesario simplificar la ecuación como se muestra
obtener un modelo que represente el dominio de conocimiento
en la ecuación 3.
y que sea acceible para el usuario, en particular, resulta impor-
tante obtener la información de dependencia entre las variables
P (a1 , a2 , .....an |vj ) = Πi P (ai |vj ) (3)
involucradas en el fenómeno, en los sistemas en donde se
desea predecir el comportamiento de algunas variables de- Donde vj , son cada una de las clases que se queire clasificar
sconocidas basados en otras conocidas; una representación del y ai son los valores de los datos con lo que se clasificará.
3. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA 3
D. Clasificador J48 todos los caminos para los cuales los nodos de decisión son
El algoritmo J48, es una versión del algoritmo de árboles de verdaderos y sumando todos los nodos de predicción que se
decisión C4.5. Los árboles de decisión estan ubicados dentro reconocen. Esto es diferente de los árboles de clasificación
de los métodos de clasificación supervisada, es decir, se tiene binarios como CART o C4.5, en los cuales una instancia sigue
una variable dependiente o clase, y el objetivo del clasificador solo un camino a través del árbol.
es determinar el valor de dicha clase para casos nuevos. Las entradas para el algoritmo de decisión alterna son:
El proceso de construcción del árbol comienza por el nodo • Un conjunto de entradas (x1 , y1 ) , ......, (xm , ym )donde
raiz, el que tiene asociados todos los ejemplos o casos de xi es un vector de atributos y yi es -1 ó 1. Las entradas
entrenamiento. Lo primero es seleccionar la variable o atributo son también llamadas instancias.
a partir de la cual se va a dividir la muestra de entrenamiento • Un conjunto de pesos correspondientes a cada instancia.
original (nodo raíz), buscando que en los subconjuntos gen-
erados haya una mínima variabilidad respecto a la clase. Este III. M OTIVACIÓN
proceso es recursivo, es decir, una vez que se haya determinado La creciente demanda de usuarios de correo electrónico y
la variable con la que se obtiene la mayor homogeneidad el envio masivo de estos por parte de las empresas me motiva
respecto a la clase en los nodos hijo, se vuelve a realizar para realizar esta investigación, ya que es posible aplicar la
el análisis para cada uno de los nodos hijos. Aunque en el Inteligenciar Artificial, especificamente las técnicas de apren-
límite este proceso se detendría cuando todos los nodos hojas dizaje automático para mitigar este problema. Cabe indicar,
contuvieran casos de una misma clase, no siempre se desea que la clasificación de correos electrónicos no siempre tendrá
llegar a este extremo, para lo cual se implementan métodos una precisión del 100% y por esta razón los clasificadores de
de prepoda y post-poda de los árboles. correo electrónico que existen en la actualidad en la mayor
El algoritmo J48 amplia las funcionalidades del C4.5, tales parte de los clientes de correo electrónico como hotmail,
como permitir la realización del proceso de post-poda del yahoo, etc., estan siempre sujetos a errores y a clasificar
árbol mediante un método basado en la reducción del error correos legítimos como no desaeados o viceversa.
(reducedErrorPruning) o que las divisiones sobre las vari-
ables discretas sean siempre binarias (binarySplits). Algunas IV. T RABAJOS R ELACIONADOS
propiedades concretas de la implementación son las siguientes:
A continuación se presentan algunas investigaciones rela-
• Admite atributos simbólicos y numéricos, aunque la clase
cionadas con este articulo. Cabe indicar que en algunos
debe ser simbólica. trabajos se proponen distintas técnicas de clasificación para
• Se permiten ejemplos con valores desconocidos.
el problema del correo electrónico no deseado.
• El criterio de división está basado en la entropía y la
1) [5] En este artículo se propone encontrar un metodo de
ganancia de información.
filtrado de spam eficiente usando una ontología adapta-
tiva. Además se hacen comparaciones de la clasificación
E. Clasificador IBk de emails utilizando redes neuronales, máquinas de vec-
En weka algoritmo IBk es el algoritmo KNN basado en tor soporte, el clasificador de naive bayes y finalmente
el algoritmo del vecino más cercano. KNN es un método el clasificador J48. A continuación los cuatro métodos
de clasificación supervisada, que es utilizado para estimar la de clasificación fueron evaluados en diferentes datasets
función de densidad F (x|Cj )de las predictoras xpor cada con diferentes atributos. Finalmente el mejor método
clase Cj . Por medio de esta regla, la clase asignada a un de clasificación se obtuvo de los conjuntos de datos
nuevo caso x será la clae más votada entre los K vecinos más de entrenameitno. 4500 emails fueron usados como
próximos del conjunto de entrenamiento. Como se menciona entrenamiento, de los cuales el 38.1% del dataset son
en [4] la principal ventaja de la regla KNN con respecto a la spam y el 61.9% son correo legitimo.
regla NN radica en que, al utilizar varios vecinos en lugar de 2) [6] En este artículo se trata el problema del aprendizaje
uno sólo para la clasificación de un nuevo caso, se aprovecha para la clasificación de textos, explotando la información
de una forma más eficiente la información que se puede extraer derivada a través de datos de entrenamiento y pruebas.
del conjunto de entrenamiento. Para realizar esto se utiliza clustering como un paso para
la clasificación y que es aplicada para el conjunto de
entreamiento y el conjunto de pruebas.
F. Clasificador ADTree 3) [7] En este articulo se sugiere soluciones para la uti-
ADTree (Alternating Decision Tree) que significa árbol de lización de técnicas automatizadas de clasificación para
decisión alternativo; es un método de aprendizaje automático filtrar el correo electrónico personal. Además también
utilizado para clasificación. Las estructuras de datos y el se presenta un sistema de filtrado llamado “ifile”, que es
algoritmo son una generalización de los árboles de decisión. efectivo y eficiente, y el cual ha sido adaptado para ser
ADTree consiste en nodos de decisión y predicción. Nodos utilizado por un popular cliente de correo electrónico.
de Decisión especifican una condición determinante. Nodos de Además se presentan los resultados de una serie de
predicción contienen un número único. Los árboles de decisión experimentos y de esta manera demostrar que un sistema
alterna siempre tienen nodos de predicción como las raices de filtrado como “ifile” podria convertirse en una parte
y hojas. Una instancia se clasifica por un ADTree siguiendo útil y valioso de cualquier cliente de correo electrónico.
4. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA 4
4) [8] En este articulo se propone una estrategia de gráfico alphanumeric characters bounded by non-alphanumeric
basado en la minería para la clasificación de correo characters or end-of-string.
electrónico. El enfoque de este articulo se basa en que • 6 continuous real [0,100] attributes of type
se pueden extraer patrones recurrentes de una carpeta char_freq_CHAR = percentage of characters in the
de correos pre-clasificados y los mismos pueden ser e-mail that match CHAR, i.e. 100 * (number of CHAR
usados efectivamente para clasificar los mensajes de occurences) / total characters in e-mail.
correo entrantes. Además se compará este enfoque con • 1 continuous real [1,...] attribute of type capi-
el clasificador de Naive Bayes. tal_run_length_average = average length of uninterrupted
5) [9] En este articulo se investiga la actuación de dos sequences of capital letters.
algoritmos de aprendizaje automático en el contexto de • 1 continuous integer [1,...] attribute of type capi-
filtrado antispam. Los algoritmos de clasificación uti- tal_run_length_longest = length of longest uninterrupted
lizados para la investigación son el de Naive Bayes para sequence of capital letters.
calcular la probabilidad de que un email se clasifique • 1 continuous integer [1,...] attribute of type capi-
como legitimo o spam y un algoritmo de clasificación tal_run_length_total = sum of length of uninterrupted
basado en memoria, en el cual la caracteristica principal sequences of capital letters = total number of capital
es que almacena todas las instancias de entrenamiento letters in the e-mail.
en una estructura de memoria y se la utiliza directamente • 1 nominal {0,1} class attribute of type spam = denotes
para la clasificación. whether the e-mail was considered spam (1) or not (0),
6) [14] En este articulo se investiga la aplicación de los i.e. unsolicited commercial e-mail.
algoritmos de clasificación de aprendizaje automático, A continuación se presenta una muestra de 10 instancias del
en especial el clasificador Niave Bayes aplicados a conjunto de datos que servirá para realizar el entrenamiento del
los filtradores de spam. Además se propone aplicar clasificador. De las cuales cinco son clasificadas como spam
un clasificador de texto utilizando Naive Bayes como (1) y cinco como correo legítimo (0).
clasificador, para clasificar un conjunto de datos de @data
prueba real. 0,0.64,0.64,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0.32,0,1.29,1.93,
0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
V. A PORTE PERSONAL 0,0,0,0.778,0,0,3.756,61,278,1
0.21,0.28,0.5,0,0.14,0.28,0.21,0.07,0,0.94,0.21,0.79,0.65,
Como aporte personal y con relación a los trabajos rela- 0.21,0.14,0.14,0.07,0.28,3.47,0,1.59,0,0.43,0.43,0,0,0,0,0,
cionados, yo propongo en este articulo hacer un estudio de las 0,0,0,0,0,0,0,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0.132,0,0.372,0.18,
técnicas de clasificación especificamente el clasificador naive 0.048,5.114,101,1028,1
bayes aplicado al filtrado de correo electrónico. Además de 0.06,0,0.71,0,1.23,0.19,0.19,0.12,0.64,0.25,0.38,0.45,0.12,
construir un pequeño agente clasificador de correo electrónico, 0,1.75,0.06,0.06,1.03,1.36,0.32,0.51,0,1.16,0.06,0,0,0,0,0,
el cual podría ayudar a mitigar en gran medida este problema y 0,0,0,0,0,0,0,0,0,0,0.06,0,0,0.12,0,0.06,0.06,0,0,0.01,0.143,
compararlo con otras técnicas de clasificación para demostrar 0,0.276,0.184,0.01,9.821,485,2259,1
su efectividad. 0,0,0,0,0.63,0,0.31,0.63,0.31,0.63,0.31,0.31,0.31,0,0,0.31,
0,0,3.18,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
VI. M ETODOLOGÍA 0,0,0,0,0,0.137,0,0.137,0,0,3.537,40,191,1
0,0,0,0,0.63,0,0.31,0.63,0.31,0.63,0.31,0.31,0.31,0,0,0.31,
Como metodologia, se ha desarrollado un sistema clasifi- 0,0,3.18,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
cador de correo electrónico utilizando como lenguaje de pro- 0,0,0,0,0,0.135,0,0.135,0,0,3.537,40,191,1
gramación Java y las librerias de Weka para hacer el respectivo 0.23,0,0.46,0,0,0,0,0.23,0,0.23,0,0,0,0,0,0,0,0,3.69,0,0.69,
análisis. Como dice en [13]; WEKA es una colección de 0,0,0,1.84,0.23,0,0,0,0.23,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0,0,0,
algortimos de aprendizaje automático para tareas de mineria 0,0,0,0.253,0,0,0.031,0,2.016,19,244,0
de datos. Como base de entrenamiento se utilizo un dataset 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.52,4.76,4.76,
o conjunto de datos público llamado spambase. Spambase es 4.76,4.76,4.76,4.76,4.76,0,4.76,4.76,4.76,0,0,0,4.76,0,0,0,0,
un dataset que contiene un número de 4601 instancias, de las 0,0,0,0,0,1.257,0,0,0,0,3.333,11,30,0
cuales el 39.4% esta clasificada como spam. Además cuenta 0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
con un número de 58 atributos, de los cuales 57 son continuos 0.11,0,0,0.22,0,0,0.33,0.11,0,0,0,0,0.11,0,0,0,0,0,0,0.053,
y 1 es nominal y representa la clasificación de la clase, en la 0.16,0,0,0,0,2.367,24,651,0
cual 1 representa spam y 0 como no spam. A continuación se 0.23,0,0.23,0,1.17,0,0,0,0,0,0,1.41,0,0,0,0,0.11,0,0.47,0,0.7,
muestra la definición de los atributos como estan en el archivo 0,0.11,0,1.29,0.11,0,0,0.11,0.23,0,0,0,0,0,0,0.11,0,0,0,0,0.11,
original del DataSet: 0,0,0.23,0,0,0,0,0.015,0,0,0,0.015,1.486,7,162,0
• 48 continuous real [0,100] attributes of type 0,0.51,0,0,1.02,0,0,0.51,0,0,0,0,0,0,0,0.51,0.51,0,0.51,0,0,0,
word_freq_WORD = percentage of words in the e- 0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0,0,0,0.51,0,0,0,0.51,0,0,0,0,0,
mail that match WORD, i.e. 100 * (number of times 0.071,0,0,0,0,2.076,9,108,0
the WORD appears in the e-mail) / total number of Para realizar todo el proceso de clasificación, se ha realizado
words in e-mail. A "word" in this case is any string of un sistema clasificador de correos electrónicos. El sistema esta
5. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA 5
desarrollado bajo la plataforma Java, utilizando las librerias de 0,0.64,0.64,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0.32,
weka para el proceso de entrenamiento y testeo del conjunto 0,1.29,1.93,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
de datos o dataset. 0.75,0.6,0,0,0,0,0.93,0,0,0,0,0,0,1.25,0,0,0.778,
En la figura 2 se muestra la pantalla principal del sistema 0,0,3.756,61,278,?
para realizar el proceso de clasificación. 0,0.64,0.64,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0.32,0,
1.29,1.93,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.45,
0,0,0.69,0,0.93,0,0,0,0,0,0,1.25,0,0,0.778,0,0,
3.756,61,278,?
0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.12,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0.308,0,1.543,0,0,2.777,6,25,?
0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1.583,8,38,?
0,0,0,0,0,0,0,0,0,4.34,0,2.17,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,1,1,7,?
0,0,0.23,0,0.46,0,0,0,0.23,0,0,0,0,1.39,0,0,0.23,0,
0,0,0.69,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,
0,0,1.86,0,0,0,0,0,0,0,0.113,0,0.09,0,0.203,2.43,
121,666,?
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,1,1,5,?
0,0,0.65,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,4.6,0,
0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1.97,0.65,0,0,0,0,0,0.125,0,0,1.25,5,40,?
Como se puede ver en el conjunto de datos de prueba; al
final de cada instancia se pone un signo de interrogación ”?”.
Figure 2. Sistema Clasificador de Correos electrónicos Esto se lo realiza debido a que no sabemos la clase a la que
pertenece cada instancia. El sistema es el encargado de sobree-
Para realizar la clasificación, primeramente se debe cargar scribir el archivo y añadir el ultimo valor según corresponda a
un archivo que contiene el conjunto de datos. Esto se lo la clase. 1 para las instancias que son clasificadas como spam,
puede hacer haciendo click en el boton “Cargar” del agente 0 para las instancias clasificadas como correo legítmo.
clasificador. Luego de ello se activará el boton “ENTRE-
NAMIENTO”. Al hacer click en dicho botón, el sistema VII. R ESULTADOS
comenzara a construir el modelo de clasificación y arroja los
resultados en el cuadro de texto “Resultado de Entrenamiento”. Luego de realizar el entrenamiento del clasificador con el
Una vez finalizado el entrenamiento podremos seleccionar un conjunto de datos ”spambase.arff”, se obtienen los siguientes
conjunto de instancias para clasificarlas ya sea como correo resultados como se muestra en la Figura 3.
electrónico legítimo o correo electrónico no deseado. Para ello
debemos hacer click en el boton “Cargar” del cuadro de texto
“Cargar datos de prueba”, luego se activará el boton “TEST”.
Hacemos click en el boton “TEST” y el sistema comenzara
a clasificar segun correspondan cada una de las instancias del
archivo de pruebas. Finalmente los resultados son arrojados
en el cuadro de texto “Resultado de Test”.
A continuación presentamos una muestra de diez instancias
del conjunto de datos de prueba que serán clasificadas por el
sistema.
@data
0,0,0.65,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,4.6,0,
0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1.97,0.65,0,0,0,0,0,0.125,0,0,1.25,5,40,?
0,0,0,3.7,3.7,0,0,0,0,0,3.7,0,0,0,0,0,0,0,3.7,0,
1.88,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1.88,0,0,0,0,0,0,0,0,0,0,12,7,12,? Figure 3. Resultado del entrenamiento
6. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA 6
Como se mencionó antes, el entrenamiento del sistema se
lo realizó con un conjunto de 4601 instancias, de las cuales el
79.52% (3659) son clasificadas correctamente, mientras que
el 20.47% (942) son clasificadas incorrectamente. Esto se
lo puede constatar con la matriz de confusión, la cual nos
dice que los elementos que componen la diagonal principal
son aquellos que han sido clasificados correctamente, y los
que componen la diagonal secundaria son aquellos que han
sido clasificados incorrectamente. Esto se debe a que algunas
instancias no cumplen con los requerimiento para poder ser
clasificadas como tales.
A continuación se muestran los resultados de cada uno de
los algorimtos estudiados en este artículo aplicados al conjunto
de pruebas ”spambasetest.arff” que contiene un total de 34
instancias.
• Resultado con el Algoritmo de Clasificación Naive Bayes
Figura 4.
Figure 5. Resultado de test del conjunto de datos ”spambasetest.arff” con
J48
Como se puede observar el resultado de la clasificación al
conjunto de pruebas, el 64.70% de las instancias han sido
clasificadas correctamente, mientras que el 35.29% de las
instancias han sido clasificadas incorrectamente. Se puede
observar también en la matriz de confusión que 16 instancias
han sido clasificadas como spam y tan solo 6 han sido
clasificadas como correo legítimo.
• Resultado con el Algoritmo de Clasificación IBk Figura
6.
Figure 4. Resultado de test del conjunto de datos ”spambasetest.arff” con
Naive Bayes
Como se puede observar el resultado de la clasificación
al conjunto de pruebas, el 100% de las instancias han sido
clasificadas correctamente, de las cuales 22 de ellas son
clasificadas como 1 o spam y 12 son clasificadas como correo
legítimo.
• Resultado con el algoritmo de Clasificación J48 Figura Figure 6. Resultado de test del conjunto de datos ”spambasetest.arff” con
5. IBk
7. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA 7
Como se puede observar el resultado de la clasificación al que son enviados por compañias con propagandas de sus
conjunto de pruebas, el 79.41% de las instancias han sido productos se lo puede mitigar en un gran porcentaje. Como
clasificadas correctamente, mientras que el 20.58% de las se puede ver el algoritmo de Naive bayes tiene una alta tasa
instancias han sido clasificadas incorrectamente. Se puede de efectividada pero tambien tiene algunos errores, ya que
observar también en la matriz de confusión que 18 instancias algunas instancias que debian ser clasificadas como spam o
han sido clasificadas como spam, mientras que 9 instancias no spam fueron clasificadas erroneamente. Es por esta razón
han sido clasificadas como correo legítimo. que los clientes de correo electrónico siempre estan sujetos
• Resultado con el Algoritmo de clasificación ADTree a errores, por lo cual siempre se debe revisar la bandeja de
Figura 7. correos spam ya que pueden haber correos que deben ser
legitimos clasificados como spam.
Este estudio de las técnicas de clasificación orientadas al
problema del correo electrónco nos ha ayudado a comprender
como trabajan los algoritmos de clasificación, que tasa de
aciertos y errores se puede encontrar en este proceso.
Especialemente el algoritmo de clasificación Naive Bayes
ha demostrado tener un poco mas de exactitud al clasificar
nuevas instancias, ya que este algoritmo a mayor número de
instancias es mas eficiente.
R EFERENCES
[1] Concha Bielza, Pedro Larrañaga. Construcción de un filtro anti-spam.
Departamento de Inteligencia Artificial. Universidad Politécnica de
Madrid.
[2] José R Méndez, Florentino Fdez-Riverola, Fernando Díaz, Juan M.
Corchado. Sistemas Inteligentes para la detección y filtrado de correo
spam: una revisión. Universidad Autonoma del estado de Mexico.
[3] J. J. Gonzáles Cid, J.R. Méndez Reboredo F. Fdez-Riverola. Modelos
Anti-Spam de Inteligencia Artificial. Escuela Superior de Ingenieria
Informática. Edificio Politécnico. Campus Universitario, As Logoas s/n,
32004, Ourense.
[4] Basilio Sierra Araujo. Aprendizaje Automático: Conceptos básicos y
avanzados. Aspectos Básicos utilizando el software Weka. Departamento
Figure 7. Resultado de test del conjunto de datos ”spambasetest.arff” con de Ciencias de la Computación e Inteligencia Artificial. Universidad del
ADTree País Vasco.
[5] Seongwook Youn, Dennis McLeod. Spam Email Classification using an
Adaptative Ontology. Department of Computer Science. University of
Como se puede observar el resultado de la clasificación al Southern California. Los Angeles, CA. USA.
conjunto de pruebas, el 82.35% de las instancias han sido [6] Antonia Kyriakopoulou, Theodore Kalamboukis. Text Classification
clasificadas correctamente, mientras que el 17.64% de las Using Clustering. Department of Informatics, Athens University of
Economics and Business. 76 Patission St., Athens, GR 104.34.
instancias han sido clasificadas incorrectamente. Se puede [7] Jason D. M. Rennie. ifile: An Application of Machine Learning to E-
observar también en la matriz de confusión que 16 instancias Mail Filtering. Artificial Intelligence Lab. Massachusetts Institute of
han sido clasificadas como spam, mientras que 12 instancias Technology. Cambridge, MA 02139.
[8] Manu Aery, Sharma Chakravarthy. eMailSift: Adapting Graph Mining
han sido clasificadas como correo legítimo. Techniques for Email Classification. IT Laboratory and CSE Depart-
A continuación se muestra una tabla comparativa del algo- ment. The University of Texas at Arlington.
ritmo de clasificación Naive Bayes que se ha aplicado para [9] Ion Androutsopoulos, Georgios Paliouras, Vangelis Karkaletsis, Geor-
gios Sakkis, Constantine D. Spyropoulos, Panagiotis Stamatopoulos.
la clasificación del correo electrónico no desaedo con otros Learning to Filter Spam E-Mail: A Comparision of a Naive Bayesian
algoritmos de clasificación. Las pruebas son realizadas en un and a Memory-Based Approach. Department of Informatics, University
dataset que contiene 32 instancias y 58 atributos. of Athens. TYPA Buildings, Panepistimiopolis, 157 71 Athens, Greece.
[10] Yang Song, Aleksander Kolcz, C. Lee Giles. Better Naive Bayes clas-
sification for high-precision spam detection. Department of Computer
Algoritmo de Clasificación % Correctos % Incorrectos Science and Engineering. The Pennsylvania State University, University
Naive Bayes 100 0 Park, PA 16802, U.S.A.
J48 64.70 35.29 [11] Óscar J. Prieto, Juan José Rodriguez, Carlos J. Alonso, Esteban Gelso.
IBk 79.41 20.58 Clasificador Bayesiano Naive en la Identificación de Fallos en Procesos
ADTree 82.35 17.64 Continuos. Grupo de Sistemas Inteligentes. Departamento de Infor-
mática, Universidad de Valladolid, Spain. Universidad de Burgos, Spain.
Table I Facultado de Ingenieria, Universidad Nacional del Centro de la Provincia
TABLA DE C OMPARACIÓN DE A LGORITMOS DE C LASIFIFICACIÓN de Buenos Aires, Olavarría, Argentina.
[12] Mitchell, Tom, “Machine Learning”, Ed. MacGraw-Hill, 1997.
[13] Ravi Kiran S. S, Indriyati Atmosukarto. Spam or Not Spam - That is
the question.
[14] Aris Kosmopoulos, Georgios Paliouras, Ion Androutsopoulos. Adapta-
VIII. C ONCLUSIONES tive Spam Filtering Using Only Naive Bayes Text Classifiers. Institute
of Informatics and Telecomunications, N.C.S.R “Demokritos” Athens,
Los algoritmos de clasificación evaluados en la tabla 1, Greece and Department of Informatics Athens University and Business,
demuestran que el problema del correo electrónico no deseado Athens, Greec.
8. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA 8
[15] Rich Caruana, Alexandru Niculescu-Mizil. An Empirical Comparision
of Supervised Learning Algorithms. Department of Computer Science,
Cornell University, Ithaca, NY 14853 USA.
[16] Heckerman, D., Geiger D., and Chickering, D. Learning Bayesian Net-
works: The Combination of Knowledge and Statistical Data. Machine
Learning, 20, 197-243. 1995