1. Instituto Tecnológico de Milpa Alta
Ingeniería en Sistemas Computacionales
Aguirre Monroy Uriel
Inteligencia Artificial
M.C. Irvin Hussein López Nava
Minería de Datos en Weka
2. Introducción a la interfaz de Weka
Primero que nada les dejo un link de descarga del programas y otro
para las respectivas bases de datos que se utilizaran en este tutorial.
Programa: http://weka.malavida.com/descargar
Bases de datos:
http://cs.uns.edu.ar/~cic/dm2007/index.php?accion=download&dir=downloads/datasets
Interfaz principal de Weka
Explorador
Experimentación
Flujo de conocimiento
Interfaz de Comandos Simple
Presionamos el botón de Explorador y nos abrirá una nueva
ventana la cual nos permite carga de información que tengamos
almacenada en algún medio como una base de datos.
3. Descripción de las pestañas superiores.
Pre procesos: Permite carga toda la información que tengamos y
visualizar los datos, posee filtros para la ejecución del mismo.
Clasificación: Permite acceso a las técnicas de clasificación y regresión y
nos permite el árbol de ejecución dentro del flujo de datos
Clúster:
Clúster: Se pude decir que es igual a clasificación, pero nos permite
obtener un porcentaje de error y sacar la medida de dodo el conjunto de
datos.
Asociación: Esta es la acción más importante ya que nos permite saber
cuáles son las relaciones entre toda la información que ingresamos y
que a simpe vista no vemos.
Selección de atributos: Determina cuales son los atributos mas
importantes para la ejecución de la minería de datos.
4. Visualización: Permite ver de manera graficas los resultados que se
obtuvieron atreves de la minería de datos.
Buenos pues hasta a hora solo hemos visto algunos aspecto de la
interfaz de Weka y ya es hora de que empecemos a trabaja pero entes
les menciono que Weka nos permite cargar la información de nuestros
registros de diferentes maneras, nos permite a través de bases de datos,
a partir de una URL, o a partir de un archivo que se encuentre
almacenado en el equipo, Weka permite cargar archivos pero que sean
.arff el cual contiene una estructura interna determinada.
Cargara registros y Filtrado de datos.
Cargar un archivo. arff
A continuación se muestra la interfaz de cómo es carga un archivo .arff
en Weka, en este caso cargaremos una bases de datos que ya tenemos
creada en nuestro equipo la cual corresponde a la tripulación que
abordad el Titanic.
Presionamos el botón Open File y buscamos el archivo en nuestro
sistema.
5. A continuación se muestran los datos de los registros que contiene la
base de datos Titanic.
Observamos cómo se habilitan todas las opciones de la parte inferior y
vemos en la parte izquierda los diferentes atributos que contiene el
registro: Clase, edad, sexo, sobrevivió. Observemos como a partir de
que seleccionamos cada uno del lado derecho se muestran la cantidad
de registros y en la parte superior el numero de registros por ejemplo la
clase tiene 325 registros de primer clase,285 la segunda clase, 706 de
tercera y un total de 885 tripulantes. Weka nos permite poder remover
atributos para poder removerlos totalmente con el botón Remove, o silo
prefieres podemos realizar filtrado de los atributos a partir de lo que
nosotros queramos.
6. Presionemos el botón seleccionar y observemos las opciones de filtrado
que nos aparecen.
En la siguiente imagen observamos los diferentes tipos de filtrado que
contiene Weka, los cuales pueden ser algoritmos que ya han sido
supervisados y revisados por Weka y otros que se encuentran en
proceso de evaluación.
Supervisado
Añadir un clasificador
Por selección de atributos
Por orden de clase
Discretear
Bynario nominal
7. La aplicación de estos filtros va a depender del tipo de información que
nosotros queramos obtener
Clasificación de datos
Apliquemos un algoritmos de clasificación para nuestros datos de la
siguiente manera presionemos el botón superior Classify como se
muestra en la imagen y seleccionemos el algoritmo J48 presionando el
botón Choose.
Una vez seleccionado el algoritmo tendremos una pantalla de esta
manera:
8. En la cual podemos realizar diferentes tipos de entrenamiento para la
minería de datos como son:
Use training set: El aprendizaje de Weka es realizado por todos los
registros que se encuentran cargados.
Supplied test set: Se puede seleccionar un archivo. arrf que se encarga
del aprendizaje de la minería de datos
Coss-
Coss-validación: El aprendizaje será a partir de una cantidad de campos
que queramos.
Percentage-
Percentage-split: Se encarga de especificar de registros serán utilizados
para el aprendizaje de la minería de datos.
En el siguientes recuadro vemos las diferentes variables que se
encuentran en el archivo .arff de los registros que se subieron, siempre
la variable base o la variable muestra será la última ingresada, pero aquí
podemos seleccionarlo a nuestro libre gusto para poder obtener un
mayor resultado en la minería de datos. En esta ocasión seleccionamos
el último.
9. Y procedemos a presionar el botan Start.
Nos arrojara los siguientes resultados el cual nos dará un recuadro con
el resumen del árbol generado:
10. Este recuadro contiene información de los registros el cual dice:
Si una persona es del sexo masculino y está en la primera clase y es
adulto no sobrevivieron 57 de los 175 pasajeros y si sobrevivieron 5
niños.
Otro dato que observamos en la imagen es que de la persona del sexo
masculino y sea un adulto no sobrevivieron 14 de los 168 pasajeros que
había.
También podemos observar la cantidad de instancias que se generaron
y los atributos que se encontraron que en este caso son cuatro.
Además nos muestra la cantidad de hojas y tamaño del árbol:
11. También podemos apreciar el porcentaje del error que se puede
generar:
Un dato importante que debemos tener en cuenta son los resultados
que nos arroja la matriz de confusión:
La cual se interpreta de la siguiente manera: muestra en la diagonales
que tanto porcentaje de error o de confiabilidad se puede tener en la
diagonal entre mayor se al resultado de su respectiva letra mayor es el
grado de confiabilidad, en este caso vemos que 270>20 y 1470>441
por lo que los resultados obtenidos son confiables.
12. Para poder visualizar el árbol de ejecución damos clik derecho sobre el
algoritmo y seleccionamos la opción visualize tree.
tree.
13. Podemos observar que las personas del sexo masculino que se
encuentran en la clase uno y que sea de edad adulta no sobrevivieron 57
de los 175 de los niños sobrevivieron 5, de la clase dos si es adulto no
sobrevivieron 14 de los 168 y sobrevivieron 11 niños.
Observemos que pasa si la persona es del sexo femenino.
Tripulación: Sobrevivieron 3 de los 23
Primera calase: sobrevivieron 4 de los 145
Segunda calase: sobrevivieron 13 de los 106
Tercera calase: no sobrevivieron 90 de los 196.
Podemos generar el árbol no a partir de si sobrevivió o no si no a partir
del sexo.
14. En esta imagen se aprecia la matriz de confusión donde los parámetros
son mucha más precisos que los anteriores, se a precian 1561 puntos
buenos y solo 147 errores, para b que es sexo femenino 179 errores y
323 puntos buenos. Por los tanto podemos decir que los datos son
confiables y si los podemos tomar en cuenta. A hora veamos el árbol de
ejecución como ya sabemos:
Aplicación de un Clúster
A hora apliquemos un Clúster de la siguiente manera:
15. Presionamos el botón choose y seleccionamos el algoritmo
SimpleKMeans ya que este es el más eficiente y preciso.
Una vez seleccionado le damos Start :
16. Observemos los resultados y analicemos lo que nos muestra:
En la imagen muestra que se
realizaron 3 iteraciones una
con todo los datos los cuales
fueron 2201 datos y otra
iteración con solo un cierto
números de datos para los
cuales se utilizaron 1663 del
total de datos y la ultima con
solo 538 datos.
También podemos ver que
en Clúster 1 el que mayor predomino fe la tripulación, en edad fue
adulto sexo masculino, y hubo más muertes que personas salvada.
En el clúster 2 los resultados fueranos los mismo, pero en le clúster 3 la
clase predominante fue la tres y los adultos del sexo femenino y hubo
más personas vivas que muertas.
Podemos decir que los resultados no son uniformes y que los resultados
en los diferentes clúster pueden ser completamente diferentes.
En la parte inferior vemos que el clúster 0 ocupo el 76 % de los
registros y el clúster 1 solo el 24 % de ellos.
Asociación
Podemos entrar a la opción de asociación de la siguiente forma nos
dirigimos a la pestañas superiores de la interfaz de Weka y damos clik
en la opción de asociación ver la imagen.
17. Esta opción es la una de las interesantes ya que en ella podemos ver
información oculta detrás de la información de todos los registros
ingresados, primero que nada demos selecciona el algoritmo de
asociación A priori y precedemos a presiona Start.
18. Los resultados que debemos ver serán los siguientes:
En esta información podemos ver la cantidad de instancias, la relación ,
la cantidad de atributos , y la más importante es la que encontramos la
final del los resultados:
En estas líneas vemos que el algoritmo encontró 10 recomendaciones
de información de la relación de todos los registros que ingresamos, el
conf representa el porcentaje de acierto, por ejemplo la interpretación
de la primera línea seria así:
19. Las personas que tiene la clase tripulación es igual a adulto, esto quiere
decir que todas las personas de la tripulación eran adultas con un 100%
de certeza.
En le segunda vemos que toda la persona que sea de tripulación y de
sexo masculino todos son adultos con un 100% de certeza
Todas las personas del sexo masculino y que no sobrevivieron fueron
adultas, esto con 0.97 de certeza.
Y buenos así sería la interpretación para el resto de las
recomendaciones, podemos decir que estos datos son muy obvios pero
cuando tenemos gran cantidad de información este tipo de información
a veces no se aprecia a simple vista.
Selección de Atributos
Seleccionamos la pestaña selección de atributos de la siguiente forma:
20. Este nos permite determina cuales son los atributos más importantes
relevantes para determinar la minería de datos, con esta sabemos cuál
es la variable más influyente dentro del proceso, seleccionamos cual va
a ser el algoritmo evaluador nosotros seleccionamos el primero pero
dependerá de las necesidades que tengamos y posterior mente
seleccionamos el modo BestFris el mejor de todos:
Ya solo presionamos Start y vemos algo como esto:
21. En eta información lo que podemos ver es que la variable que nos
recomienda es el Sexo.
Sexo.
Visualización
El modo visualización es un modo que muestra gráficamente la
distribución de todos los atributos dando graficas de dos dimensiones
en las que va representando en los ejes todos los posibles pares de
combinación de los atributos, de este modo nos permite ves
correlaciones y asociaciones entres los atributos de una forma más
grafica.
Presionamos el botón visualización y vemos la siguiente pantalla:
22. Las opciones que tenemos son:
PlotSize: define el tamaño de la grafica
Presionamos el botón Update.
PointSize: Define el tamaño del punto expresado.
23. Jitter: es el ruido que se aplica a las variables para ver las posibles
relaciones entre ellas.
Analicemos estas graficas:
24. En esta graficas vamos, se aprecia como la clase está relacionada con el
sexo al igual que edad, pero el sexo no tiene que ver si sobrevivió o no
sobrevivió.
Al igual podemos ver que la edad no tiene nada que ver con la
supervivencia.
Bueno pues hasta aquí terminamos el análisis de los sobrevivientes la
Titanic y como conclusión podemos decir que la variable más
significativa fue el sexo con 86 % de certeza, seguida de la supervivencia
con un 79% de certeza.
25. A continuación realizaremos la aplicación de los algoritmos que ya
hemos visto para analizar las siguientes bases de datos.
Las podemos descargar del link que ya
mencionamos al principio de este documento.
Aplicamos un algoritmo de clasificación J48 :
Clasificación
26. En la siguiente figura vemos como los resultados nos presenta un
83.871 % de certeza y una matriz de confusión con 14 puntos buenos
contra solo 7 errores para a, 116 puntos buenos para b, con solo 18
errores, por lo cual podemos decir que los datos son confiables.
Visualicemos el árbol para su análisis.
27. Si cambiamos la variarle a sexo observamos que el índice de errores
disminuye un poco pero la certeza disminuye también por lo tanto la
variable mas ponderable es en función del clase.
Clúster:
Clúster: A continuación apliquemos un clúster a los datos
28. Bueno en estor resultado muestran cinco iteraciones a los datos con un
total 155 instancias. Podemos definir que los resultados son subjetivos
por que el porcentaje de de instancias analizadas es muy bajo solo 63%
de ellas.
Selección de atributos.
En la imagen podemos observa como la variable recomendada es la
número cinco que corresponde a Class.
29. Visualización.
En esta grafica apreciamos como los accidentes están relacionados con
la edad y con casi todos los demás, pero no está relacionada con la
clase.
30. Continuemos con el análisis de la bases de datos Zoo.
Tenemos un total de 18 atributos y 101 instancias .
Calcificación
31. En los resultados observamos que tenemos 92.0792 de certeza y
7.9208 de errores, por lo tanto estos datos son muy confiables.
Dado que al cambiar la variable el porcentaje de certeza baja en vez de
aumentar.
Al analizar la matriz de confusión vemos claramente que los valores con
respecto a la variable son favorables. Por ejemplo para las aves tenemos
20 puntos a favor y cero errores en los demás, en cambio para los
insectos tenemos 5 a favor y 2 errores, pero aun con estos pequeños
errores siguen siendo datos confiables.
32. Clúster
En la imagen vemos la ejecución de dos iteraciones de las cuales el
clúster 0 tomo 41 instancias que representan 41 % de los datos y el
clúster 1 60 instancias que representan un 59 % de los datos.
En los datos observamos que la instancia False predomino en el clúster
1.
Selección de atributos
Podemos apreciar
que el atributo
recomendado es el
número 10 que
corresponde a Tail.
33. Visualización
En las graficas apreciamos algunos atributos y su relación entre
ellos.
Análisis a la base de datos empleados
empleados.
34. Tenemos un total de 9 instancias y un total de 15 instancias.
Clúster.
Clúster.
Esta instancia esta Sexo es la precisa de entre las demás que existen.
La cual nos arroja un porcentaje a favor de 66.667 % y 33.333% de error.
Visualización del árbol: