UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES ESTUDIO DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN APLICADO A LA MINERÍA DE DATOS TESIS DE GRADO Previa a la obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES AUTOR: OLALE RONQUILLO CARLOS JAYRON TUTOR: ING. NELLY VALENCIA MARTÍNEZ GUAYAQUIL – ECUADOR 2015 REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGÍA FICHA DE REGISTRO DE TESIS “ ESTUDIO DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN APLICADO A LA MINERÍA DE DATOS ” TÍTULO: REVISORES: INSTITUCIÓN: Universidad de Guayaquil FACULTAD: Ciencias Matemáticas y Físicas CARRERA: Ingeniería en Sistemas Computacionales FECHA DE PUBLICACIÓN: N° DE PÁGS.: 170 ÁREA TEMÁTICA: INTELIGENCIA ARTIFICAL Minería de datos, árboles de inducción, ID3, C4.5, aprendizaje automático, árboles de decisión, reglas de decisión. PALABRAS CLAVES: RESUMEN: La Minería de Datos es la búsqueda de patrones interesantes y de regularidades importantes en grandes bases de datos. El Aprendizaje Automático es el campo de la Ingeniería Informática en el que se estudian y desarrollan algoritmos que implementan los distintos modelos de aprendizaje y su aplicación a la resolución de problemas prácticos. La minería de datos inteligente utiliza métodos de aprendizaje automático para descubrir y enumerar patrones presentes en los datos. Se trabajó en particular con los métodos ID3 y C4.5, miembros de dicha familia. N° DE REGISTRO(en base de datos): N° Nº DE CLASIFICACIÓN: DIRECCIÓN URL (tesis en la web): ADJUNTO PDF NO CONTACTO CON AUTOR: X SI Teléfono: E-mail: CARLOS JAYRON OLALE RONQUILLO 0985985279 [email protected] APROBACIÓN DEL TUTOR En mi calidad de Tutor del trabajo de investigación, “ESTUDIO DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN APLICADO A LA MINERÍA DE DATOS”, RONQUILLO elaborado por el Sr. CARLOS JAYRON OLALE , estudiante de la Carrera de Ingeniería en Sistemas Computacionales, Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil, previo a la obtención del Título de Ingeniero en Sistemas Computacionales, me permito declarar que luego de haber orientado, estudiado y revisado, la Apruebo en todas sus partes. Atentamente Ing. Nelly Valencia Martínez, MSc TUTOR III DEDICATORIA Dedico este proyecto de tesis al esfuerzo que mis padres han hecho a lo largo de mi vida estudiantil, por el apoyo incondicional, y la ayuda que de mis hermanos pudieron brindarme. Eso fue mi motor para seguir adelante y luchar día a día. A mis profesores por haberme guiado y ser mis segundos padres, por darme buenos consejos y ejemplos a seguir. Carlos Olale Ronquillo IV AGRADECIMIENTO A Dios por darme la vida y permitirme levantarme cada vez con más fuerzas cuando me sentía decaído, por la inteligencia que me ha dado y la he aprovechado en mi vida cotidiana y por ende en mis estudios. A toda mi familia, mi esposa y mi hija porque me han sabido comprender y han sido mi apoyo en todo ámbito. Carlos Olale Ronquillo V TRIBUNAL DE GRADO Ing. Eduardo Santos Baquerizo, M.Sc DECANO DE LA FACULTAD CIENCIAS MATEMÁTICAS Y FÍSICAS Ing. Nelly Valencia Martínez, M.Sc. DIRECTORA DE TESIS Lcdo. Walter Illingworth Ramírez, M.Sc. PROFESOR DEL ÁREA TRIBUNAL Ing. Harry Luna Aveiga M.Sc. DIRECTOR (E) CISC-CIN Ing. Israel Ortega Oyaga M.Sc. PROFESOR DEL ÁREA TRIBUNAL Ab. Juan Chávez Atocha SECRETARIO VI DECLARACIÓN EXPRESA “La responsabilidad del contenido de esta Tesis de Grado, me corresponde exclusivamente; y el patrimonio intelectual de la misma a la Universidad de Guayaquil” Carlos Olale Ronquillo VII UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES ESTUDIO DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN APLICADO A LA MINERÍA DE DATOS Tesis de Grado que se presenta como requisito para optar por el título de INGENIERO EN SISTEMAS COMPUTACIONALES Autor: Carlos Jayron Olale Ronquillo C.I. 0924850472 Tutor: Ing. Nelly Valencia Martínez, MSc Guayaquil, Junio de 2015 VIII CERTIFICADO DE ACEPTACIÓN DEL TUTOR En mi calidad de Tutor de Tesis de Grado, nombrado por el Consejo Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil. CERTIFICO: Que he analizado la Tesis de Grado presentado por el/la estudiante CARLOS JAYRON OLALE RONQUILLO, como requisito previo para optar por el título de Ingeniero cuyo problema es: ESTUDIO DE LOS ALGORITMOS DE ARBOLES DE INDUCCIÓNAPLICADO A LA MINERÍA DE DATOS. Considero aprobado el trabajo en su totalidad. Presentado por: Carlos Jayron Olale Ronquillo Cédula de ciudadanía N° 0924850472 Tutor: Ing. Nelly Valencia Martínez, MSc Guayaquil, Junio de 2015 IX UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES Autorización para Publicación de Tesis en Formato Digital 1. Identificación de la Tesis Nombre Alumno: CARLOS JAYRON OLALE RONQUILLO Dirección: 24ava 1202 y Portete (esquina) Teléfono: 0985985279 E-mail: [email protected] Facultad: CIENCIAS MATEMATICAS Y FISICAS Carrera: INGENIERÍA EN SISTEMAS COMPUTACIONALES Título al que opta: INGENIERO EN SISTEMAS COMPUTACIONALES Profesor guía: Ing. Nelly Valencia Martínez, MSc Título de la Tesis: ESTUDIO DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN APLICADO A LA MINERÍA DE DATOS Temas Tesis: Minería de datos, árboles de inducción, ID3, C4.5, aprendizaje automático, árboles de decisión, reglas de decisión. 2. Autorización de Publicación de Versión Electrónica de la Tesis A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de esta tesis. Publicación electrónica: Inmediata Después de 1 año Firma Alumno: 3. Forma de envío: El texto de la Tesis debe ser enviado en formato Word, como archivo .Doc o .Rtf y .Pdf para PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .tiff. DVDROM CDROM X ABREVIATURAS ID3 Induction Decision Trees Inducción de Árboles de Decisión TDIDT Top Down Induction of Decision Trees Inducción de Árboles de Decisión de Arriba hacia Abajo FOIL First Order Induction Logic Aprendizaje Lógico de Primer Orden ILP Inductive Logic Programming Programación Lógica Inductiva SLIQ Supervised Learning In Quest Aprendizaje Supervisado en Indagación SPRINT Scalable Parallelizable Induction of decision Trees Inducción paralelizables escalable de árboles de decisión MDL Minimum Description Length Longitud de Descripción Mínima KDD Knowledge Discovery in Databases Descubrimiento de Conocimientos en Bases de Datos XI ÍNDICE GENERAL APROBACIÓN DEL TUTOR .................................................................................................... III DEDICATORIA ........................................................................................................................... IV AGRADECIMIENTO ................................................................................................................... V TRIBUNAL DE GRADO ............................................................................................................ VI DECLARACIÓN EXPRESA ..................................................................................................... VII CERTIFICADO DE ACEPTACIÓN DEL TUTOR ................................................................. IX ABREVIATURAS ........................................................................................................................ XI INDICE GENERAL.................................................................................................................... XII ÍNDICE DE CUADROS ............................................................................................................. XV ÍNDICE DE GRÁFICOS ......................................................................................................... XVII RESUMEN ..................................................................................................................................XIX ABSTRACT ................................................................................................................................. XX INTRODUCCIÓN ........................................................................................................................... 1 CAPÍTULO I ................................................................................................................................... 5 EL PROBLEMA ............................................................................................................................. 5 PLANTEAMIENTO DEL PROBLEMA ..................................................................................... 5 UBICACIÓN DEL PROBLEMA EN UN CONTEXTO ............................................................................. 5 SITUACIÓN CONFLICTO NUDOS CRÍTICOS ..................................................................................... 6 CAUSAS Y CONSECUENCIAS DEL PROBLEMA................................................................................. 8 DELIMITACIÓN DEL PROBLEMA..................................................................................................... 9 FORMULACIÓN DEL PROBLEMA ..................................................................................................... 9 EVALUACIÓN DEL PROBLEMA ..................................................................................................... 10 OBJETIVOS............................................................................................................................... 11 OBJETIVO GENERAL ............................................................................................................. 11 OBJETIVOS ESPECÍFICOS ..................................................................................................... 11 ALCANCES DEL PROBLEMA ................................................................................................ 11 JUSTIFICACIÓN E IMPORTANCIA ...................................................................................... 12 CAPÍTULO II ............................................................................................................................... 13 MARCO TEÓRICO ..................................................................................................................... 13 ANTECEDENTES DEL ESTUDIO........................................................................................... 13 FUNDAMENTACIÓN TEÓRICA ............................................................................................ 14 MINERÍA DE DATOS ............................................................................................................... 14 DATOS, INFORMACIÓN Y CONOCIMIENTO .................................................................................... 17 ORIGEN DE LA MINERÍA DE DATOS .............................................................................................. 18 APLICACIONES DE LA MINERÍA DE DATOS ................................................................................... 20 CARACTERÍSTICAS Y OBJETIVOS DE LA MINERÍA DE DATOS ....................................................... 22 TAREAS REALIZADAS POR UN SISTEMA DE MINERÍA DE DATOS ................................................. 24 COMPONENTES DE LA MINERÍA DE DATOS .................................................................................. 25 TÉCNICAS DE LA MINERÍA DE DATOS .......................................................................................... 27 APRENDIZAJE SUPERVISADO Y NO SUPERVISADO ....................................................................... 28 XII APRENDIZAJE AUTOMÁTICO .............................................................................................................. 29 APRENDIZAJE AUTOMÁTICO EN LA MINERÍA DE DATOS ............................................................. 35 CLASIFICACIÓN DE LOS SISTEMAS DE APRENDIZAJE ................................................................... 37 ESQUEMA GENERAL DE UN SISTEMA DE APRENDIZAJE AUTOMÁTICO ........................................ 37 APRENDIZAJE DE CONCEPTOS ..................................................................................................... 38 REPRESENTACIÓN DE CONCEPTOS .............................................................................................. 41 TIPOS DE APRENDIZAJE AUTOMÁTICO ........................................................................................ 44 MÉTODOS CLÁSICOS DEL APRENDIZAJE POR INDUCCIÓN ............................................................ 47 APRENDIZAJE AQ ....................................................................................................................... 48 APRENDIZAJE DIVIDE Y REINARÁS ............................................................................................. 48 PROBLEMAS INHERENTES AL PROCESO DE APRENDIZAJE............................................................ 50 ÁRBOLES DE INDUCCIÓN ............................................................................................................ 51 EVALUACIÓN DE LOS ARBOLES DE INDUCCIÓN ........................................................... 55 MÉTODOS DE EVALUACIÓN DEL APRENDIZAJE ........................................................................... 57 EVALUACIÓN CRUZADA (CROSS-VALIDATION) .......................................................................... 59 EVALUACIÓN DEJAR-UNO-AFUERA (LEAVE-ONE-OUT) ........................................................ 62 EVALUACIÓN BOOTSTRAP ........................................................................................................... 63 ALGORITMOS DE CLASIFICACIÓN ..................................................................................... 65 ALGORITMOS DE ARBOLES DE INDUCCIÓN. ................................................................... 67 ALGORITMO ID3 ......................................................................................................................... 67 ALGORITMO C4.5 ........................................................................................................................ 70 CARACTERÍSTICAS DEL ALGORITMO C4.5................................................................................... 72 VENTAJAS RESPECTO AL ALGORITMO ID3, MEJORAS DEL ALGORITMO C4.5 ............................. 74 POST PRUNNING (POST PODA) ............................................................................................ 76 ESTRUCTURAS UTILIZADAS EN EL ALGORITMO C4.5 .................................................................. 77 PSEUDOCODIGO DE C4.5 ...................................................................................................... 78 ALGORITMO AQ15 ................................................................................................................. 79 ALGORITMO CN2 ................................................................................................................... 80 ALGORITMO DBLEARN ........................................................................................................ 82 ALGORITMO META-DENDRAL .......................................................................................... 82 ALGORITMO RADIX/RX........................................................................................................ 83 ALGORITMO BACON ............................................................................................................. 84 FUNDAMENTACIÓN LEGAL ................................................................................................ 87 PREGUNTAS A CONTESTARSE ............................................................................................ 88 VARIABLES DE LA INVESTIGACIÓN .................................................................................. 89 CAPÍTULO III .............................................................................................................................. 90 METODOLOGÍA ......................................................................................................................... 90 DISEÑO DE LA INVESTIGACIÓN ......................................................................................... 90 MODALIDAD DE LA INVESTIGACIÓN ............................................................................................ 90 TIPO DE INVESTIGACIÓN ............................................................................................................. 90 POBLACIÓN Y MUESTRA...................................................................................................... 91 POBLACIÓN: ................................................................................................................................ 91 MUESTRA: ................................................................................................................................... 92 OPERACIONALIZACIÓN DE VARIABLES .......................................................................... 93 INSTRUMENTOS DE RECOLECCIÓN DE DATOS ............................................................................. 94 INSTRUMENTOS DE LA INVESTIGACIÓN. ........................................................................ 94 PROCEDIMIENTOS DE LA INVESTIGACIÓN .................................................................................... 95 RECOLECCIÓN DE LA INFORMACIÓN ........................................................................................... 96 PROCESAMIENTO Y ANÁLISIS ............................................................................................ 97 ANÁLISIS COMPARATIVO DE LOS ALGORITMOS DE INDUCCIÓN ............................ 99 XIII ENCUESTAS ........................................................................................................................... 101 CAPÍTULO IV ............................................................................................................................ 111 MARCO ADMINISTRATIVO .................................................................................................. 111 CRONOGRAMA ...................................................................................................................... 111 PRESUPUESTO ...................................................................................................................... 112 CAPÍTULO V .............................................................................................................................. 113 CONCLUSIONES Y RECOMENDACIONES ........................................................................ 113 CONCLUSIONES ................................................................................................................... 113 Conclusiones en cuanto al estudio ....................................................................................... 113 Conclusiones en cuanto a las encuestas ............................................................................... 115 RECOMENDACIONES .......................................................................................................... 116 BIBLIOGRAFÍA ......................................................................................................................... 117 ANEXOS ................................................................................................................................ 119 XIV ÍNDICE DE CUADROS CUADRO No. 1 CAUSAS Y CONSECUENCIAS ........................................................................... 8 CUADRO No. 2 DELIMITACIÓN DEL PROBLEMA .................................................................... 9 CUADRO No. 3 CLASIFICACIÓN DE LAS TÉCNICAS DE MINERÍA DE DATOS ................ 28 CUADRO No. 4 EJEMPLOS DE LOS DÍAS POSIBLES PARA JUGAR TENIS ....................... 42 CUADRO No. 5 FORTALEZA Y DEBILIDADES DE LOS ALGORITMOS DE INDUCCION 86 CUADRO No. 6 VARIABLES DE LA INVESTIGACIÓN............................................................ 89 CUADRO No. 7 ESTUDIANTES MATRICULADOS DE LA CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES EN EL AÑO 2014 CICLO II.................... 91 CUADRO No. 8 ESTUDIANTES ENCUESTADOS DE LA CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES EN EL AÑO 2014 CICLO II.................... 92 CUADRO No. 9 MATRIZ DE OPERACIONALIZACIÓN DE VARIABLES .............................. 93 CUADRO No. 10 TÉCNICA E INSTRUMENTO PARA LA RECOLECCIÓN DE DATOS ......... 94 CUADRO No. 11 COMPARACIÓN DE ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ........ 98 CUADRO No. 12 IMPORTANCIA DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS................................................................................. 101 CUADRO No. 13 APLICACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS................................................................................. 102 XV CUADRO No. 14 USO DE ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN NUESTRO MEDIO................................................................................................................ 103 CUADRO No. 15 NECESIDAD DE ESTUDIAR LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ...................................................................................................... 104 CUADRO No. 16 CONFIABILIDAD DE LA INFORMACIÓN EN LA APLICACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ........................................... 105 CUADRO No. 17 TOMA DE DECISIONES EN LA IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ........................................... 106 CUADRO No. 18 INTERPRETACIÓN DE LOS DATOS ............................................................. 107 CUADRO No. 19 OPTIMIZACIÓN LUEGO DE IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ...................................................................... 108 CUADRO No. 20 DOCUMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ...................................................................................................... 109 CUADRO No. 21 IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN CON APLICACIONES ............................................................... 110 CUADRO No. 22 DETALLE DE INGRESOS DEL PROYECTO ................................................. 112 CUADRO No. 23 DETALLE DE EGRESOS DEL PROYECTO ................................................... 112 XVI ÍNDICE DE GRÁFICOS GRÁFICO No. 1 PIRÁMIDE DE LA INFORMACIÓN ................................................................. 16 GRÁFICO No. 2 MAPA CONCEPTUAL DE MINERÍA DE DATOS ........................................... 23 GRÁFICO No. 3 DIAGRAMA DE APRENDIZAJE AUTOMÁTICO ........................................... 35 GRÁFICO No. 4 DIAGRAMA DE MINERÍA DE DATOS ............................................................ 36 GRÁFICO No. 5 ESQUEMA DE UN SISTEMA DE APRENDIZAJE AUTOMÁTICO .............. 38 GRÁFICO No. 6 JERARQUÍA DE GENERALIZACIÓN .............................................................. 39 GRÁFICO No. 7 ARBOL DE DECISION GENERADO PARA JUGAR TENIS. ......................... 43 GRÁFICO No. 8 COMPONENTES DE LOS ÁRBOLES DE DECISIÓN ..................................... 53 GRÁFICO No. 9 ESTRUCTURA DE UN ÁRBOL DE DECISIÓN ............................................... 54 GRÁFICO No. 10 APRENDIZAJE Y CLASIFICACIÓN CON UN ÁRBOL DE DECISIÓN ........ 55 GRÁFICO No. 11 ALGORITMO ID3 ............................................................................................... 69 GRÁFICO No. 12 PROCEDIMIENTO DE POST-PODA DEL ALGORITMO C4.5 ..................... 76 GRÁFICO No. 13 PSEUDOCODIGO DE C4.5................................................................................. 78 GRÁFICO No. 14 ALGORITMO CN2 .............................................................................................. 81 GRÁFICO No. 15 PROCEDIMIENTO MEJOR COMPLEJO .......................................................... 81 XVII GRÁFICO No. 16 IMPORTANCIA DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS................................................................................. 101 GRÁFICO No. 17 APLICACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS................................................................................. 102 GRÁFICO No. 18 USO DE ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN NUESTRO MEDIO................................................................................................................ 103 GRÁFICO No. 19 NECESIDAD DE ESTUDIAR LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ...................................................................................................... 104 GRÁFICO No. 20 CONFIABILIDAD DE LA INFORMACIÓN EN LA APLICACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ........................................... 105 GRÁFICO No. 21 TOMA DE DECISIONES EN LA IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ........................................... 106 GRÁFICO No. 22 INTERPRETACIÓN DE LOS DATOS ............................................................. 107 GRÁFICO No. 23 OPTIMIZACIÓN LUEGO DE IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ...................................................................... 108 GRÁFICO No. 24 DOCUMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ...................................................................................................... 109 GRÁFICO No. 25 IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN CON APLICACIONES ............................................................... 110 GRÁFICO No. 26 CRONOGRAMA DE ACTIVIDADES .............................................................. 111 XVIII UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES ESTUDIO DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN APLICADO A LA MINERÍA DE DATOS Autor: Carlos Olale Ronquillo Tutor: Ing. Nelly Valencia Martínez RESUMEN La Minería de Datos es la búsqueda de patrones interesantes y de regularidades importantes en grandes bases de datos. El Aprendizaje Automático es el campo de la Ingeniería Informática en el que se estudian y desarrollan algoritmos que implementan los distintos modelos de aprendizaje y su aplicación a la resolución de problemas prácticos. La Minería de Datos inteligente utiliza métodos de aprendizaje automático para descubrir y enumerar patrones presentes en los datos. Uno de los métodos más conocidos para describir los atributos de una entidad de una base de datos es utilizar un árbol de decisión o de clasificación, que puede transformarse sin inconveniente a un conjunto de reglas de decisión. En este contexto, el propósito de este proyecto es estudiar de qué manera la familia de árboles de inducción, que aborda el problema de inducir árboles de decisión, puede utilizarse para descubrir automáticamente reglas de negocio a partir de la información disponible en una base de datos. Se trabajó en particular con los métodos ID3 y C4.5, miembros de dicha familia. XIX UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES ESTUDIO DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN APLICADO A LA MINERÍA DE DATOS Autor: Carlos Olale Ronquillo Tutor: Ing. Nelly Valencia Martínez ABSTRACT Data mining is the search of interesting patterns and relevant regularities in large data bases. Machine Learning is the Informatic Engineering’s field devoted to the analysis and development of algorithms implementing the different learning models and their application to the solution of practical problems. Intelligent data mining uses machine learning methods to find and list the patterns present in the data. One of the best known methods to describe the attributes of an entity of a data base is the use of a decision or classification tree, which can easily be turned into a set of decision rules. Within this context, the purpose of the present project is to analyze the way in which the Induction Trees family, which studies the problem of inducing decision trees, can be used to discover automatically business rules from the information available in a data base. The work was focused in the ID3 and C4.5 methods, which belong to the family above mentioned. XX INTRODUCCIÓN La Minería de Datos es la búsqueda de patrones interesantes y de regularidades importantes en grandes bases de datos, (Fayad, 1996) afirma que: “Al hablar de minería de datos inteligente se refiere a la aplicación de métodos de aprendizaje automático u otros métodos similares, para descubrir y enumerar patrones presentes en los datos” (pág. 158). El autor (Michalski, 1983) define al Aprendizaje Automático como “el campo de la Ingeniería Informática en el que se estudian y desarrollan algoritmos que implementan los distintos modelos de aprendizaje y su aplicación a la resolución de problemas prácticos” (pág. 130). (Michalski, 1983) y (Michie, 1988) aseveran que entre los problemas abordados en este campo, está el de inducir conocimientos a partir de datos o ejemplos esto resulta una alternativa de solución a problemas que no pueden ser resueltos mediante algoritmos tradicionales. Entre los cuales podemos mencionar especificación de condiciones asociadas a diagnósticos técnicos o clínicos, identificación de características que permitan reconocimiento visual de objetos, descubrimiento de patrones o regularidades en estructuras de información, en particular en bases de datos de gran tamaño y en los últimos años ha sufrido cambios de acuerdo con cambios tecnológicos, de estrategias de marketing, la extensión de los modelos de compra en línea, etc. 1 Según (Michalski, 1982) afirma que: Los métodos tradicionales de análisis de datos incluyen el trabajo con variables estadísticas, varianza, desviación estándar, covarianza y correlación entre los atributos; análisis de componentes (determinación de combinaciones lineales ortogonales que maximizan una varianza determinada), análisis de factores (determinación de grupos correlacionados de atributos), análisis de clúster (determinación de grupos de conceptos que están cercanos según una función de distancia dada), análisis de regresión (búsqueda de los coeficientes de una ecuación de los puntos dados como datos), análisis multivariable de la varianza, y análisis de los discriminantes. (pág. 128) Esto nos da a pensar que la minería de datos como técnica para el análisis simplificado de datos sería un mecanismo más efectivo a la hora de querer realizar un análisis más preciso sobre lo aplicado, ya que todos estos métodos tienen una orientación numérica que esencialmente es de origen cuantitativo. Todas las herramientas tradicionales de minería de datos asumen que los datos que usarán para construir los modelos contienen la información para obtener el conocimiento que pueda ser aplicado al para obtener un beneficio (o solución). Por otra parte los siguientes autores (García Martínez, 1987) y (Mitchell, 2006) aseveran que al contrario: “Los métodos basados en aprendizaje automático, están orientados principalmente hacia el desarrollo de descripciones simbólicas de los datos, que puedan caracterizar uno o más grupos de conceptos” (pág. 108). 2 Aquí se tiene que hacer una diferenciación entre las distintas clases y según (Michalski, 1983) y (Tecuci, 1994) afirman que: “Hay que crear nuevas clases y hay que crear una nueva clasificación conceptual, seleccionar los atributos más representativos, y ser capaces de predecir las secuencias lógicas” (pág. 132). Considerando que las secuencias lógicas son esencialmente cualitativas. En las bases de datos las entidades se caracterizan generalmente por el valor de los atributos y no por las relaciones entre ellas, con lo cual se utilizan métodos basados en el análisis de atributos. Según (Michalski, 1998) y (Grossman, 1999) afirman que: Uno de los métodos más conocidos para describir los atributos de una entidad es utilizar un árbol de decisión o de clasificación, cuyos nodos corresponden a los atributos, las ramas que salen de ellos son los valores de los atributos, y las hojas son corresponden a clases individuales”. (pág. 105) La gran ventaja de los árboles de clasificación, es que se pueden transformar sin inconveniente a un conjunto de reglas de decisión. Bajo este contexto, el propósito de este proyecto es el de realizar un estudio de la manera en que la familia árboles de inducción, puedan utilizarse para descubrir automáticamente reglas de negocio a partir de la información disponible en una base de datos. A continuación se detalla un resumen de lo que contiene cada capítulo: 3 Capítulo I. Se hace referencia a la introducción general referente a la problemática, así como los objetivos de las mismas, la situación del problema, que lo causa, cuales son las delimitaciones, y por qué razón el estudio del tema de tesis es importante. Capítulo II: Se enfoca en el marco teórico que es muy fundamental en este estudio, se detalla la fundamentación teórica y legal que permitió el desarrollo y la sustentación de esta tesis que se enfoca principalmente los algoritmos ID3 y C4.5 y la familia de los árboles de inducción, que es importante como punto de partida para el despliegue del estudio, también se hace referencia a los sistemas de aprendizaje y los métodos utilizados en la minería de datos. Capítulo III: Se detalla la metodología que se aplicará para el desarrollo del estudio, en base a encuestas realizadas para la medición de factibilidad del proyecto consideradas de una muestra sobre la población que comprende a los estudiantes de la Carrera de Ingeniería en Sistemas Computacionales de la Universidad de Guayaquil. Capitulo IV: Se detalla los patrones a seguir en el estudio que es el cronograma de actividades y presupuesto, en el cual se tratan los detalles más relevantes del mismo. Capítulo V: Se detallan las conclusiones y recomendaciones del estudio. 4 CAPÍTULO I EL PROBLEMA PLANTEAMIENTO DEL PROBLEMA Ubicación del Problema en un Contexto Hoy en día se recolectan datos simplemente por estar disponibles al alcance de la mano, sin considerar su importancia lógica o práctica, o muchas veces sin saber si son importantes en algún sentido. Al haberse vuelto económico el almacenamiento de los datos en medios físicos y al volverse relativamente fácil y accesible la recolección, las bases de datos crecen en forma descontrolada. El almacenamiento masivo de información hace que la Minería de Datos tenga una importancia cada vez mayor. El análisis de los datos que se recolectan actualmente en cualquier tipo de actividad y para cualquier evento o hecho, excede la capacidad de un ser humano. Existen muchos tipos de estudios y resultados obtenibles. Por ejemplo, podemos realizar un estudio estadístico sobre la distribución de una población de monos en la selva a lo largo de los años; u obtener la varianza y desviación estándar de los depósitos árabes en el mercado norte americano de la última década; o realizar un análisis de componentes para un determinado experimento químico, entre otros. 5 Situación Conflicto Nudos Críticos Los métodos nombrados hasta ahora son esencialmente cuantitativos. Sin embargo, ¿qué pasa cuando más allá de los modelos matemáticos encerrados en los datos, nos interesan los modelos lógicos? ¿Cuándo más allá de las direcciones para hacer un mailing de la base de personas, nos interesa hacer un mailing sólo a los potenciales clientes? ¿Cómo distinguimos a los potenciales clientes del resto de la gente? ¿Qué características tienen en común? ¿Qué datos los distinguen? Cuando el análisis de los datos que estamos buscando excede los alcances de un modelo cuantitativo y está orientado hacia una descripción cualitativa de los datos, debemos utilizar los algoritmos inteligentes. Estos algoritmos del Aprendizaje Automático están orientados hacia el desarrollo de descripciones simbólicas de los datos que puedan caracterizar a uno o más conceptos, diferenciar entre clases de conceptos y describir porqué razón un objeto pertenece a una clase y no a otra. Con este tipo de algoritmos nuestro problema del análisis de los potenciales clientes estaría resuelto. Existen muchos tipos de algoritmos de Aprendizaje Automático; no obstante, los más útiles para nosotros son aquellos que no quedan encerrados en el “cerebro” de la computadora, sino que pueden adaptarse a nuestra forma de pensar. Si el resultado de realizar Minería de Datos inteligente sobre una base es una red neuronal, ésta puede ser muy útil para clasificar nuevos ejemplos, en la medida en que sean clasificados por medio de un programa entrenado para ello. 6 Una persona jamás será capaz de aplicar rápida y efectivamente una red neuronal u otro modelo similar para clasificar distintos datos. En cambio si la persona se encuentra ante un árbol de decisión o un conjunto de reglas de decisión que debe aplicar en orden como resultado de la Minería, la clasificación del nuevo caso es tan fácil como la lectura del árbol desde la raíz hasta las hojas. Este tipo de modelo de datos que representa los conceptos inherentes y ocultos en los datos, de forma tal que son fáciles de interpretar, utilizar e incorporar para la persona humana son los que más enriquecen nuestro conocimiento y, como tales, aquellos sobre los cuales focalizaremos nuestra atención. En las bases de datos, las entidades se caracterizan, generalmente, por un conjunto de atributos que las describen. Los atributos pueden ser tanto discretos como continuos, pero lo importante es que todas las entidades están descriptas por el mismo grupo de atributos. En los problemas de clasificación, un atributo particular, conocido como clase, describe al tipo de concepto. Las actividades de vigilancia e inteligencia, en el contexto de la "sociedad de la Información", se considera como "la transformación de la información en conocimiento, y del conocimiento en acción". Es por esto la importancia del "análisis de la información" en el seno de todas las actividades en donde se trata de transformar los datos brutos con el fin de extraer los conocimientos que puedan ser explotados y útiles en un determinado campo de acción 7 Causas y Consecuencias del Problema Para realizar este estudio se han identificado las siguientes causas y sus consecuencias. CUADRO No. 1 CAUSAS Y CONSECUENCIAS CAUSAS CONSECUENCIAS Búsqueda de información en Tiempo invertido para la recopilación o bases de datos exploración de bases inmensas que tienen extremadamente grandes. patrones repetitivos y un determinado comportamiento. La comprensión del contenido Uso de prácticas estadísticas que nos llevan a de un repositorio de datos. fines erróneos en tiempos mayores. No se explota al 100% la No se llega al modelo adecuado o en muchos materia prima bruta, es decir, casos se realizan interpretaciones inconclusas los datos. en base a conocimientos empíricos. No se lleva un orden adecuado Perdida de dinero entre los investigadores y al momento de procesar los las personas de negocios que al final datos. involucra a la toma de decisiones. Fuente: Carlos Olale Ronquillo Elaboración: Carlos Olale Ronquillo 8 Delimitación del Problema CUADRO No. 2 DELIMITACIÓN DEL PROBLEMA Campo: Área: Aspecto: Inteligencia Artificial Investigación Sistemas Inteligentes Estudio de los Algoritmos de Arboles de Inducción aplicado a la Tema: Minería de Datos Fuente: Carlos Olale Ronquillo Elaboración: Carlos Olale Ronquillo Formulación del problema ¿En qué medida los algoritmos de la familia árboles de inducción pueden usarse para generar modelos válidos en los problemas de clasificación? Analizar la aplicación de todos los Algoritmos Inteligentes a la Minería de Datos excedería los alcances de este trabajo; por ende, vamos a centrar nuestro análisis en aquellos algoritmos que generan árboles y reglas de decisión que son modelos que un ser humano puede interpretar y aplicar fácilmente. Un buen modelo de datos para clasificar fenómenos meteorológicos descriptos en función de varias medidas ambientales tomadas en los días previos, pueden ayudar a un meteorólogo a determinar si habrá sol, lloverá, o habrá un tornado. 9 ¿Podemos afirmar que siempre será efectivo aplicar los árboles TDIDT cuando se busca obtener un modelo a partir de una gran cantidad de datos? En los últimos años se han desarrollado muchos sistemas de Minería de Datos y se espera que este desarrollo continúe floreciendo dada la enorme cantidad de datos que son almacenados día a día, que requiere algún tipo de análisis, entendimiento o clasificación. La diversidad de los datos y de las técnicas y los enfoques de la minería de datos, son un desafío para el crecimiento de esta área de la tecnología. Evaluación del problema Para el presente proyecto de tesis se ha escogido los siguientes aspectos generales: Delimitado: Se lo considera delimitado ya que la tecnología avanza, y con el paso del tiempo las actualizaciones en muchos aspectos se renuevan, dando lugar a una nueva caracterización. Claro: El presente proyecto ha sido diseñado con la finalidad de especificar y clarificar términos no definidos en su totalidad. Se busca desarrollar una guía mostrando todos los aspectos que nos ofrece y así poder facilitar la comprensión de aquellas personas que deseen incursionar y utilizarlos. Concreto: Se ha tratado de no redundar en términos ya conocidos, por tal motivo se ha direccionado al problema de forma fija, centrándose en los diferentes arboles de inducción. Contextual: Esta investigación se desarrollara dentro del mercado local, en la ciudad de Guayaquil en el territorio ecuatoriano. 10 OBJETIVOS OBJETIVO GENERAL Realizar un estudio de los algoritmos de árboles de inducción que se aplican en la minería de datos. OBJETIVOS ESPECÍFICOS Realizar el estudio de la utilización de los algoritmos de árboles de inducción a la minería de datos en particular con los métodos ID3 y C4.5. Identificar las técnicas de minería de datos para la exploración de los mismos. Realizar el estudio de las etapas principales para el proceso de minería de datos. ALCANCES DEL PROBLEMA Elaborar un estudio sobre los algoritmos de árboles de inducción, los mismos que serán documentados para que se puedan aplicar a la minería de datos. Realizar el estudio de las etapas en el proceso de minería de datos, como elementos de generación de información y guía de los estudiantes de CISC. 11 Elaborar un documento en el que se refleje el estudio de los algoritmos de los árboles de inducción, así como la documentación de los mismos en la que presenten las conclusiones y las recomendaciones. JUSTIFICACIÓN E IMPORTANCIA Dado que la minería de datos es una tecnología novedosa y que no se cuenta con mucha información sobre ella, se ha decidido realizar una investigación sobre la técnica de los algoritmos de árboles de inducción para aplicarlos a la minería de datos. El poder explotar las ventajas de la minería de datos junto a su gran facilidad de aprendizaje puede apuntar a convertirse en un nuevo estándar en el desarrollo de aplicaciones. Uno de los principales objetivos es el poder generar un documento que facilite el aprendizaje, tanto en estudiantes como en desarrolladores de aplicaciones que tengan la necesidad de poder aplicar las técnicas de minería de datos. Con esta guía de aprendizaje obtendremos una vía de enseñanza rápida y concisa con lo cual las personas de cualquier nivel de conocimientos de desarrollo obtendrán unas bases para el desarrollo de aplicaciones bajo árboles de inducción logrando mejores recursos económicos mediante la creación de aplicaciones basadas en estos algoritmos. 12 CAPÍTULO II MARCO TEÓRICO ANTECEDENTES DEL ESTUDIO Los últimos avances en almacenamiento de datos, desarrollo tecnológico y de redes de ordenadores han posibilitado que los datos sean almacenados digitalmente en Bases de Datos de una manera eficiente, posibilitando su procesado, y la eventual extracción de información a partir de ellos. La Minería de Datos se basa en el uso de técnicas que permitan descubrir y extraer conocimiento de estos datos. Según (Fayad, 1996) afirma que: “El conocimiento que se extraiga puede ser aprovechado para la toma de decisiones” (pág. 104). La idea de Minería de Datos no es nueva, ya desde los años sesenta los estadísticos manejaban términos como Data Fishing, Data Mining (DM) o Data Archaeology con la idea de encontrar correlaciones sin una hipótesis previa en bases de datos con ruido. A principios de los años ochenta, Rakesh Agrawal, GioWiederhold, Robert Blum y Gregory Piatetsky-Shapiro entre otros, empezaron a consolidar los términos de Minería de Datos y KDD (Knowledge Discovery in Databases). 13 Esta tecnología ha sido un buen punto de encuentro entre personas pertenecientes al ámbito académico y al de los negocios. La evolución de sus herramientas en el transcurso del tiempo puede dividirse en cuatro etapas principales: Colección de Datos (1960). Acceso de Datos (1980). Almacén de Datos y Apoyo a las Decisiones (principios de la década de 1990). Minería de Datos Inteligente. (finales de la década de 1990). FUNDAMENTACIÓN TEÓRICA MINERÍA DE DATOS La enorme cantidad de bases de datos en todas las áreas de aplicación humana, demanda nuevas y poderosas técnicas de transformación de los datos en conocimientos útiles. Entre dichas técnicas podemos nombrar a las pertenecientes al aprendizaje automático, el análisis estadístico de datos, la visualización de datos, y las redes neuronales. Según (Mitchell, 2006) afirma que: “Numerosos especialistas señalan que la Minería de Datos necesita de la integración de enfoques de múltiples disciplinas” (pág. 120). 14 La Minería de Datos se refiere a la aplicación de técnicas de aprendizaje automático, entre otros métodos, para encontrar importantes patrones en los datos. El descubrimiento de conocimientos pone su énfasis en el ciclo de análisis de datos en sí, analiza su ciclo de vida. Según (Fayyad , 1996) define a la minería de datos como: “Un proceso no trivial de identificación válida, novedosa, potencialmente útil y entendible de patrones comprensibles que se encuentran ocultos en los datos” (pág. 187). La Minería de Datos es el proceso de descubrir conocimientos interesantes, como patrones, asociaciones, cambios, anomalías y estructuras significativas a partir de grandes cantidades de datos almacenadas en bases de datos, data warehouses, o cualquier otro medio de almacenamiento de información. La Minería de Datos es un campo en pleno desarrollo en el que se aplican métodos de varias disciplinas como los presentes en sistemas de bases de datos, data warehousing, estadística, el Aprendizaje Automático, visualización de datos, obtención de información y computación de alta performance. Además también se utilizan en la minería de datos, métodos de las áreas de redes neuronales, reconocimiento de patrones, análisis espacial de datos, bases de datos de imágenes, procesamiento de señales, medicina y programación lógica inductiva (ILP). 15 De acuerdo al grafico adjunto, (Mitchel ,2005) muestra una pirámide de la información la cual está conformada por cinco niveles, donde se muestra como los datos se pueden convertir en sabiduría. Los niveles son ruido, datos, información, conocimiento y sabiduría. GRÁFICO No. 1 PIRÁMIDE DE LA INFORMACIÓN Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo. El ruido representa la base de la pirámide, este representa cadena de caracteres sin sentido, significado ni orden, cuya naturaleza se desconoce. El segundo nivel está representado por los Datos, en este nivel el ruido adquiere un significado, aquí una cadena de caracteres puede significar un nombre, sexo, una dirección y las cadenas de números pueden representar teléfonos, edad, sueldo, costo de un artículo, etc. 16 La Información la podemos encontrar en el nivel tres de esta pirámide, en este momento los datos adquieren un mayor significado y aparecen también alguna relaciones directas, por ejemplo podemos decir Juan vive en México y su teléfono es 551234567, podemos conocer el costo de un artículo específico, etc. El cuarto nivel representa la información transformada en conocimiento el cual forma parte esencial para el proceso de la toma de decisiones. Por último tenemos el nivel de la Sabiduría que representa la cima de la pirámide que también representa el metaconocimiento y lo podemos definir como: “El conjunto de información, hechos y reglas sobre un dominio específico”. Datos, información y conocimiento Datos Los datos son en esencia números o texto que puede ser procesado en una computadora, en la actualidad las organizaciones acumulan grandes cantidades de datos en distintos formatos y en distintas bases de datos, entre las que se incluyen datos operacionales o transaccionales en las que se almacenan costos, ventas, inventarios, contabilidad, etc. Información Los patrones, asociaciones o relaciones entre los datos proporcionan información, por ejemplo el análisis de transacciones de un punto de venta nos pueden dar 17 información sobre qué cantidad de productos se han vendido y durante cuánto tiempo. Conocimiento La información puede ser convertida en conocimiento partiendo de patrones históricos. Origen de la minería de datos Las técnicas de minería de datos son el resultado de un largo proceso de investigaciones. Esta evolución se inicia cuando se empieza a almacenar la información de organizaciones en las computadoras, continúa con mejoras en el acceso de datos y más recientemente se han generado tecnologías que los usuarios naveguen por la información en tiempo real. La minería de datos toma este proceso evolutivo y va más allá del acceso retrospectivo de los datos y navegación analizando la información para luego mostrar resultados. La minería de datos está lista para la aplicación en la comunidad de los negocios ya que ahora cuenta con un soporte de tres tecnologías que la hacen suficientemente madura: • Recopilación de datos de forma masiva • Computadoras poderosas con multiprocesadores • Los algoritmos de minería de datos 18 Las bases de datos comerciales están creciendo a proporciones sin precedentes y conjuntamente la necesidad de motores de búsqueda mejorados. Los algoritmos de minería de datos personalizan técnicas que han existido por lo menos desde hace 10 años, pero que hasta ahora han podido ser implementadas de tal forma que se consideran herramientas confiables y que consistentemente ejecutan los métodos estadísticos más antiguos. En la evolución de la forma en que se manejan los datos de los negocios, cada nuevo paso que se construye sobre la base la uno previo, por ejemplo, el acceso dinámico de datos es crítico para las aplicaciones de navegación de datos y la habilidad de almacenamiento de grandes bases de datos es crítica para la minería de datos. Los componentes que conforman el núcleo de la minería de datos han estado en desarrollo durante décadas, áreas tales como estadística, inteligencia artificial y máquinas de aprendizaje. Hoy la madurez de estas técnicas acopladas al alto desempeño de los motores de búsqueda de bases de datos relacionales y los esfuerzos de integración de datos, hacen estas tecnologías prácticas para los entornos del Data warehousing. 19 Aplicaciones de la minería de datos La minería de datos es cada vez más popular debido a la contribución substancial que puede hacer. Puede ser usada para controlar costos así como también para contribuir a incrementar las entradas. Muchas organizaciones están usando minería de datos para ayudar a manejar todas las fases del ciclo vital del cliente, incluyendo la adquisición de nuevos clientes, aumentando los ingresos con clientes existentes y manteniendo bien a la clientela. Determinando características de clientes buenos (trazado de perfil), una compañía puede determinar conjuntos con características similares. Perfilando clientes que hayan comprado un producto en particular, ello puede enfocar la atención en clientes similares que no hayan comprado ese producto (de venta cruzada). Cerca de perfilar clientes que se han ido, lo que la compañía hace para retener los clientes que están en riesgo de alejarse, porque es normalmente un poco menos caro retener un cliente que conseguir uno nuevo. Las ofertas de minería de datos se valoran a través de una amplia efectividad de industrias. Las compañías de telecomunicaciones y tarjeta de crédito son dos de los conductores para aplicar minería de datos, para detectar el uso fraudulento de sus servicios. 20 Compañías aseguradoras y bolsas de valores se interesan también al aplicar esta tecnología para reducir el fraude. Las aplicaciones médicas son otra área fructífera; la minería de datos se puede utilizar para predecir la eficiencia de procedimientos quirúrgicos, las pruebas médicas o medicaciones. Las compañías activas en el mercado financiero, usan minería de datos para determinar el mercado y características de industria así como para predecir el comportamiento de las compañías individuales y mejorar el sistema de inventarios. Los minoristas están haciendo mayor uso de la minería de datos, para decidir qué productos en particular deben mantener en inventario para no abastecerse de productos innecesarios, así como para evaluar la eficacia de promociones y ofertas. Las firmas farmacéuticas poseen grandes bases de datos de los compuestos químicos y de material genético en las cuales hay substancias que pueden muy buenas ser candidatas para minar, esto con el objetivo de determinar cómo se pueden desarrollar nuevos agentes para los tratamientos de determinadas enfermedades. 21 Características y objetivos de la Minería De Datos Explorar los datos que se encuentran en las profundidades de las bases de datos. El entorno de la minería de datos suele tener una arquitectura clientesservidor. Las herramientas de la minería de datos ayudan a extraer el mineral de la información enterrado en archivos corporativos o en registros públicos, archivados El minero es, muchas veces un usuario final con poca o ninguna habilidad de programación, facultado por barrenadoras de datos y otras poderosas herramientas indagatorias para efectuar preguntas adhoc y obtener rápidamente respuestas. Hurgar y sacudir a menudo implica el descubrimiento de resultados valiosos e inesperados. Las herramientas de la minería de datos se combinan fácilmente y pueden analizarse y procesarse rápidamente. Debido a la gran cantidad de datos, algunas veces resulta necesario usar procesamiento en paralelo para la minería de datos. La minería de datos produce cinco tipos de información: Asociaciones. Secuencias. Clasificaciones. 22 Agrupamientos. Pronósticos. Como se puede observar en la Figura la minería de datos clasifica la información y la procesa para obtener un resultado, para esto se debe pasar por ciertos procedimientos que se describen como: 1. Limpieza de datos: Pre-procesar la data a fin de reducir el ruido y los valores nulos. 2. Selección de característica: Eliminar los atributos irrelevantes o redundantes. 3. Transformación de datos: Estandarizar, normalizar o generalizar los datos. GRÁFICO No. 2 MAPA CONCEPTUAL DE MINERÍA DE DATOS Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo. 23 Tareas Realizadas por un Sistema de Minería de Datos Un sistema de Minería de Datos actual realiza una o más de las siguientes tareas: Descripción de clases: provee una clasificación concisa y resumida de un conjunto de datos y los distingue unos de otros. La clasificación de los datos se conoce como caracterización, y la distinción entre ellos como comparación o discriminación. Asociación: para la minería de datos es el descubrimiento de relaciones de asociación o correlación en un conjunto de datos. Las asociaciones se expresan como condiciones atributo-valor y deben estar presentes varias veces en los datos. Clasificación: analiza un conjunto de datos de entrenamiento cuya clasificación de clase se conoce y construye un modelo de objetos para cada clase. Dicho modelo puede representarse con árboles de decisión o con reglas de clasificación, que muestran las características de los datos. El modelo puede ser utilizado para la mayor comprensión de los datos existentes y para la clasificación de los datos futuros. Predicción: esta función de la minería predice los valores posibles de datos faltantes o la distribución de valores de ciertos atributos en un conjunto de objetos. 24 Clustering: identifica clúster en los datos, donde un clúster es una colección de datos “similares”. La similitud puede medirse mediante funciones de distancia, especificadas por los usuarios o por expertos. La Minería de Datos trata de encontrar clúster de buena calidad que sean escalables a grandes bases de datos y a data warehouses multidimensionales. Análisis de series a través del tiempo: analiza un gran conjunto de datos obtenidos con el correr del tiempo para encontrar en él regularidades y características interesantes, incluyendo la búsqueda de patrones secuenciales, periódicos, modas y desviaciones. Componentes de la Minería de Datos Según (Joshi, 1997) se dice que “La Minería de Datos cuenta con tres grandes componentes: Clustering o clasificación, Reglas de asociación y Análisis de Secuencias” (pág. 99). Clustering o Clasificación En el Clustering o Clasificación se analizan los datos y se generan conjuntos de reglas que agrupen y clasifiquen los datos futuros. Debe tenerse en cuenta que en la Minería de Datos se busca obtener reglas que particionen los datos en clases predefinidas, esto se torna complicado cuando hay una gran cantidad de atributos y millones de registros. 25 Regla de asociación Una regla de asociación es una regla que implica o presenta ciertas relaciones entre un grupo de objetos en una base de datos. En el proceso de la Minería de Datos se obtienen varias reglas de este tipo con distintos niveles de abstracción. Nuevamente, no debemos olvidar que esto puede implicar el análisis iterativo de bases de datos transaccionales o relacionales, con millones de registros, lo cual presenta un elevado costo operativo. Por lo tanto, la obtención de reglas a partir de bases de datos relacionales o transaccionales es un importante tema de estudio. Análisis de secuencias Por último, el análisis de secuencias trata de encontrar patrones que ocurren con una secuencia determinada. Trabaja sobre datos que aparecen en distintas transacciones - a diferencia de los datos que aparecen relacionados mediante reglas dentro de una misma transacción. En este caso se trabaja sobre datos que tienen una cierta secuencia entre sí. Cada dato es una lista ordenada de transacciones (o ítems). Generalmente, existe un tiempo de transacción asociado con cada dato. El problema consiste en encontrar patrones secuenciales de acuerdo a un límite mínimo impuesto por el usuario, dicho límite se mide en función al porcentaje de 26 datos que contienen el patrón. Por ejemplo, un patrón secuencial puede estar dado por los usuarios de un video club que alquilan “Arma Mortal”, luego “Arma Mortal 2”, “Arma Mortal 3” y finalmente “Arma Mortal 4”, lo cual no implica que todos lo hagan en ese orden. Técnicas de la Minería de Datos Las técnicas de la minería de datos provienen de la Inteligencia Artificial y de la Estadística. Dichas técnicas no son más que algoritmos, más o menos sofisticados, que se aplican sobre un conjunto de datos para obtener unos resultados. Las técnicas más representativas son: redes neuronales, regresión lineal, árboles de decisión, modelos estadísticos, agrupamiento o clustering y reglas de asociación. La clasificación inicial de las técnicas de minería de datos distingue entre técnicas predictivas, en las que las variables pueden clasificarse en dependientes e independientes; técnicas descriptivas, en las que todas las variables tienen el mismo estatus y técnicas auxiliares, en las que se realiza un análisis multidimensional de datos. En la siguiente figura se muestra una clasificación de las técnicas de minería de datos donde hallamos los árboles de decisión (Pérez y Santín, 2008). 27 CUADRO No. 3 CLASIFICACIÓN DE LAS TÉCNICAS DE MINERÍA DE DATOS Supervisados o Predictivos No Supervisados o Descriptivas Árboles de decisión Detección de desviaciones Árboles de regresión Escalamiento Multidimensional Redes neuronales Segmentación Regresión Clustering Series temporales Reglas de asociación Métodos Bayesianos Patrones secuenciales Algoritmos Genéticos Análisis Exploratorio Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo Aprendizaje Supervisado y no Supervisado La aplicación automatizada de algoritmos de minería de datos permite detectar fácilmente patrones en los datos, razón por la cual esta técnica es mucho más eficiente que el análisis dirigido a la verificación cuando se intenta explorar datos procedentes de repositorios de gran tamaño y complejidad elevada. Dichas técnicas emergentes se encuentran en continua evolución como resultado de la colaboración entre campos de investigación tales como bases de datos, reconocimiento de patrones, inteligencia artificial, sistemas expertos, estadística, visualización, recuperación de información, y computación de altas prestaciones. Según nos afirma (Weiss y Indurkhya,1998]) “Los algoritmos de minería de datos se clasifican en dos grandes categorías: supervisados o predictivos y no supervisados o de descubrimiento del conocimiento” (pág. 221). 28 Los algoritmos supervisados o predictivos predicen el valor de un atributo (etiqueta) de un conjunto de datos, conocidos otros atributos (atributos descriptivos). A partir de datos cuya etiqueta se conoce se induce una relación entre dicha etiqueta y otra serie de atributos. Esas relaciones sirven para realizar la predicción en datos cuya etiqueta es desconocida. Esta forma de trabajar se conoce como aprendizaje supervisado y se desarrolla en dos fases: Entrenamiento (construcción de un modelo usando un subconjunto de datos con etiqueta conocida) y prueba (prueba del modelo sobre el resto de los datos). Cuando una aplicación no es lo suficientemente madura no tiene el potencial necesario para una solución predictiva, en ese caso hay que recurrir a los métodos no supervisados o de descubrimiento del conocimiento que descubren patrones y tendencias en los datos actuales (no utilizan datos históricos). El descubrimiento de esa información sirve para llevar a cabo acciones y obtener un beneficio (científico o de negocio) de ellas. Aprendizaje Automático Para (García Martínez R. , 1997): “El Aprendizaje Automático es el campo dedicado al desarrollo de métodos computacionales para los procesos de 29 aprendizaje, y a la aplicación de los sistemas informáticos de aprendizaje a problemas prácticos y la Minería de Datos es la búsqueda de patrones e importantes regularidades en bases de datos de gran volumen ” (pág. 145). Estos dos campos han ido creciendo a lo largo de los años, y han cobrado una importancia considerable. Hoy en día, como se almacenan grandes volúmenes de información en todas las actividades humanas, la Minería de Datos está cobrando gran importancia, se busca obtener información valiosa a partir de los datos guardados. La Minería de Datos utiliza métodos y estrategias de otras áreas o ciencias, entre las cuales podemos nombrar al Aprendizaje Automático. Cuando este tipo de técnicas se utilizan para realizar la minería, decimos que estamos ante una Minería de Datos Inteligente. El campo de aplicación del Aprendizaje Automático, no obstante, no se limita únicamente a la Minería de Datos, existen múltiples aplicaciones de Aprendizaje Automático en funcionamiento. Si analizamos su aplicación a la Minería de Datos en particular, encontramos que hay varios métodos que se utilizan con éxito hoy en día, entre los cuales se encuentran los métodos de inducción. El análisis se centrará en una familia de métodos de inducción conocida como la familia de árboles de inducción (Top Down Induction Trees), y en particular en los algoritmos ID3 y C4.5 desarrollados por Quinlan, pertenecientes a la misma. 30 El aprendizaje automático según (Mitchell, Trabajo de adscripción minería de datos, 2006) dice que: “El Aprendizaje Automático se enfrenta con el desafío de la construcción de programas computacionales que automáticamente mejoren con la experiencia” (pág. 101). (Michalski, Modelos Lógicos, 1998), señala que: “Estos programas computacionales son sistemas de aprendizaje capaces de adquirir conocimientos de alto nivel y/o estrategias para la resolución de problemas mediante ejemplos, en forma análoga a la mente humana” (pág. 152). A partir de los ejemplos provistos por un tutor o instructor y de los conocimientos de base o conocimientos previos, el sistema de aprendizaje crea descripciones generales de conceptos. Según (Witten & Frank, 2000) refiere lo siguiente: “¿Cómo sabemos si un sistema ha adquirido algún conocimiento? Siguiendo el análisis de Witten” (pág. 123). De dónde podemos plantearnos las siguientes preguntas: ¿Qué es el aprendizaje?, y ¿Qué es el Aprendizaje Automático? Si buscamos la definición de Aprendizaje en la Enciclopedia, encontraremos las siguientes definiciones o alguna similar según (Espasa-Calpe, 1974) dice que: “Adquirir el conocimiento de alguna cosa por medio del estudio, de la experiencia o al ser instruido; Concebir alguna cosa por meras apariencias o con poco fundamento; Tomar algo en la memoria; Ser informado de recibir instrucción”. (pág. 132). 31 Todas estas definiciones se aplican con facilidad a los seres humanos, veamos si pueden aplicarse también a los sistemas informáticos. En términos de Aprendizaje Automático lo primero que debemos ser capaces de hacer, es determinar si un sistema informático ha aprendido o no. En el caso de las dos primeras definiciones esto es imposible: no existe ninguna manera de preguntarle si ha adquirido conocimiento, ya que si le hacemos preguntas acerca de las cosas que debería haber aprendido, no estaríamos midiendo sus nuevos conocimientos, sino su capacidad de responder preguntas. En cuanto a las últimas dos definiciones, el hecho de guardar en memoria y recibir instrucciones son triviales para una computadora, son actividades “vitales” para ella que realiza todo el tiempo. De esto se deduce que una computadora sería capaz de aprender a la luz de las últimas dos definiciones. Esta afirmación no tiene nada de novedoso para nosotros. Si un sistema de información es capaz de aprender, entonces debe ser capaz de aplicar los conocimientos memorizados o instruidos en una nueva situación. Esto es justamente lo que evaluamos para saber si un ser humano ha aprendido o no, evaluamos su respuesta ante una nueva situación. Siguiendo esta línea de pensamiento, podemos afirmar entonces que las cosas (y los seres humanos también) aprenden cuando cambian su comportamiento de manera tal que les permite desarrollarse mejor en el futuro. 32 A la luz de esta definición que asocia el aprendizaje a la performance más que al conocimiento, el aprendizaje es más fácil de medir: podemos analizar si un sistema ha aprendido al ponerlo en una situación en la que estuvo anteriormente y observando si se desempeña mejor. Esta definición sigue siendo engañosa. Una gran variedad de objetos modifican su comportamiento de manera tal que los hacen desempeñarse mejor y, sin embargo, no se puede decir que hayan aprendido. Tomemos por ejemplo, nuestras mejores pantuflas, ¿podemos decir que han aprendido la forma de nuestro pie? Sin embargo, han cambiado su forma, su comportamiento para adaptarse mejor a nuestro pie y ciertamente son más cómodas que cuando eran nuevas. Llamamos entrenamiento al tipo de aprendizaje que se realiza sin pensar; entrenamos a los animales y a las plantas, pero hablar del entrenamiento de una pantufla sería ridículo. El aprendizaje, a diferencia del entrenamiento, requiere pensar, implica tener el propósito, directo o indirecto, de aprender; alguien o algo que aprende debe tener la intención de hacerlo. El aprendizaje sin pensar es meramente un entrenamiento. Los sistemas de Aprendizaje Automático tienen la intención de construir un modelo a partir de los datos de entrada y cambian su comportamiento de manera tal que son capaces de clasificar nuevos datos y desarrollarse mejor en antiguas situaciones. En fin, podemos afirmar que los sistemas son capaces de aprender. Según (Mitchell, 2006) dice que: “Aún no sabemos, sin embargo, cómo hacer 33 para que los sistemas aprendan en el mismo grado que los humanos. No obstante, se han creado algoritmos efectivos en ciertas tareas de aprendizaje, y el entendimiento teórico del aprendizaje está comenzando a emerger” (pág. 141). Para complementar el enfoque anterior, debemos preguntarnos cómo aprenden los seres humanos y analizar si los sistemas son capaces de aprender de la misma manera. Según (Monter, 2001) dice que: “Los humanos aprendemos mediante tres mecanismos distinguibles: inducción, deducción y abducción. Podemos afirmar que los sistemas aprenden cuando son capaces de generar nuevos conocimientos, por cualquiera de los tres métodos anteriores” (pág. 198). En un sistema de Aprendizaje Automático, dicha generación de conocimientos se realiza cuando los datos se transforman a un nivel superior que nos es más útil. Por ejemplo, cuando los datos presentes en una base de datos se transforman en un modelo de datos que los clasifica según sus características o atributos. Los algoritmos de la familia arboles de inducción que estudiaremos, justamente construyen un modelo de nivel superior. El tema fundamental para construir un sistema de aprendizaje automático es: Según (Mitchell, 2006) refiere lo siguiente: Para plantear el problema de aprendizaje de manera correcta se debe contar con las tres partes esenciales de la siguiente definición: Se puede afirmar que un programa computacional es capaz de aprender a partir de la 34 experiencia E con respecto a un grupo de tareas T y según la medida de performance P, si su performance en las tareas T, medida según P, mejora con la experiencia E. (pág. 135) Aprendizaje Automático en la Minería de Datos La automatización del proceso de aprendizaje se conoce como Aprendizaje Automático. Según señala (Holsheimer & Siebes, 1994) dice que: “La Minería de Datos es un caso especial de Aprendizaje Automático donde el escenario observado es una base de datos. Los gráficos que se encuentran a continuación explican este concepto” (pág. 100). GRÁFICO No. 3 DIAGRAMA DE APRENDIZAJE AUTOMÁTICO Ejemplos C Codificación de los ejemplos ML Fuente: Datos de la Investigación Elaboración: Carlos Olale Ronquillo En la figura anterior, el entorno E representa el mundo real, el entorno sobre el cual se realiza el aprendizaje. E representa un número finito de observaciones u objetos que son codificados en algún formato legible para Aprendizaje Automático. El conjunto de ejemplos codificados constituye el conjunto de 35 entrenamiento para el sistema de aprendizaje automático. Por su lado, en el Gráfico N° 10, la codificación C es reemplazada por una base de datos, que modela el entorno. Cada estado en la base de datos refleja algún estado de E, y cada transición de estados en la base de datos representa una transición de estados en E. El algoritmo utilizado para realizar la minería de datos construye entonces un modelo a partir de los datos en la base de datos. GRÁFICO No. 4 DIAGRAMA DE MINERÍA DE DATOS E Ejemplos BD Codificación de los ejemplos ML Fuente: Datos de la Investigación Elaboración: Carlos Olale Ronquillo Aunque a simple vista, la Minería de Datos parece muy similar a Aprendizaje Automático, hay importantes diferencias que deben tenerse en cuenta. La base de datos generalmente se construye con fines distintos a la Minería de Datos, con lo cual la base se diseña según los requerimientos del sistema y no según los requerimientos del algoritmo de aprendizaje. 36 Clasificación de los Sistemas de Aprendizaje Según (Michalski, Modelos Lógicos, 1998) determina que: “En la Clasificación general de los sistemas de Aprendizaje Automático, los sistemas de aprendizaje se clasifican en dos categorías generales: métodos de caja negra y métodos orientados al conocimiento” (pág. 156). Los primeros desarrollan su propia representación de conceptos, que por lo general no es comprensible para los humanos; normalmente, realizan cálculos numéricos de coeficientes, distancias o vectores. Entre estos métodos, se encuentran las redes neuronales y los métodos estadísticomatemáticos. Por otro lado, los métodos orientados al conocimiento tratan de crear estructuras simbólicas de conocimiento que sean comprensibles para el usuario. El Aprendizaje Automático pertenece al segundo grupo de métodos. Esquema General de un Sistema de Aprendizaje Automático El sistema tiene dos entradas, que son los ejemplos y los conocimientos previos, eso genera como salida la descripción del concepto. Los ejemplos instancian un cierto concepto, lo describen mediante distintos valores de sus atributos. 37 GRÁFICO No. 5 ESQUEMA DE UN SISTEMA DE APRENDIZAJE AUTOMÁTICO Fuente: Datos de la Investigación Elaboración: Carlos Olale Ronquillo. Los conocimientos previos tienen información sobre el lenguaje que se usa para describir los ejemplos y los conceptos. Entonces, el sistema utiliza los conocimientos previos para interpretar los ejemplos y para generar descripciones a partir de ellos. Aprendizaje de Conceptos Según (Michalski, 1998) define que: El Aprendizaje Automático trata de extraer conceptos de los datos que recibe como entrada. Por concepto se entiende una abstracción para un conjunto de objetos que comparten ciertas propiedades que los diferencian de otros conceptos. (pág. 234) Tomando como un ejemplo, podríamos decir que el concepto “ave” se refiere a todos los seres vivos que tienen picos y a las (estas son algunas de las características que comparten todas las aves y que las diferencia del resto de los seres vivos). A la luz de esta definición vemos que si los límites entre conceptos 38 no están claramente definidos, puede no ser fácil clasificar un ejemplo en particular. Otros ejemplos podrían ser, cuál es el límite entre un edificio alto y un edificio bajo, entre una mujer atractiva y una no atractiva. Según (Holsheimer & Siebes, 1994) especifican que: Existen dos técnicas de inferencia generales que se utilizan para extraer descripciones a partir de los conceptos: la deducción y la inducción. La deducción es la técnica que infiere información como una consecuencia lógica de los ejemplos y conocimientos de base La inducción es la técnica que infiere información generalizada de los ejemplos y conocimientos de base. (pág. 145) GRÁFICO No. 6 JERARQUÍA DE GENERALIZACIÓN Fuente: Datos de la Investigación Elaboración: Carlos Olale Ronquillo 39 En la inducción, podemos trabajar con jerarquías de generalización, representadas por los árboles o grafos y según (Michalski, 1998) determina que: “En una jerarquía de generalización, un concepto puede describirse por los objetos del nivel base o por cualquier objeto en un nivel superior” (pág. 108). En este tipo de jerarquías, podemos identificar tres nociones que relacionan los conceptos que según (Michalski, 1998) los define como: “efecto de nivel básico (basic-level effect), tipicalidad (typicality) y dependencia contextual (contextual dependency)” (pág. 109). El efecto de nivel básico hace referencia a que los conceptos de nivel base pueden ser descriptos por características fácilmente identificables por las personas, lo cual hace que el aprendizaje sea más simple para nosotros. Mientras que los conceptos de nivel superior se definen como grupos de conceptos de nivel básico que comparten alguna característica en común. La segunda noción, la tipicalidad, analiza cuán típico es un concepto. Puede medirse de acuerdo a la cantidad de características comunes que comparte con otros conceptos, y a la cantidad de características heredadas de los súper conceptos. En el aprendizaje, la tipicalidad es muy importante, por ejemplo, tratar de enseñar el concepto de pájaro con los ejemplos de un pingüino, un ganso y un avestruz, no será muy efectivo. En cambio, utilizar una golondrina, un gorrión y una paloma será exitoso. Por último, la dependencia contextual es importante porque los conceptos aprendidos dependen del contexto en el que estamos. Al definir estudiantes podemos estar pensando en estudiantes universitarios, estudiantes 40 primarios, o estudiantes del curso de Análisis Matemático; el concepto que estamos tratando de enseñar, dependerá del contexto en el que estamos. Representación de Conceptos La primera cuestión que debe solucionar el Aprendizaje Automático al encarar el problema de aprendizaje, es cómo representar los conceptos, es decir, cómo llevar los ejemplos, conocimientos base y conceptos obtenidos a un lenguaje entendible por una computadora, que sea también, fácilmente interpretable por el usuario (recordemos que los métodos de Aprendizaje Automático son orientados al conocimiento y no cajas negras). Algunos métodos que el Aprendizaje Automático utiliza para representar los datos, en orden ascendente en cuanto a complejidad y capacidad expresiva, según (Michalski, 1998) dice que son: “Lógica de orden cero (lógica preposicional), lógica de atributos, lógica de predicados de primer orden y lógica de segundo orden, entre otros” (pág. 111). En la lógica de orden cero, los ejemplos y conceptos se describen como conjunciones de constantes booleanas que representan valores de los atributos. El poder descriptivo de este tipo de lógica es bajo, por lo cual, el Aprendizaje Automático lo utiliza únicamente para describir conceptos muy simples. Un ejemplo de una cláusula en lógica de orden cero es: Juego_Tenis <= Día_soleado A No_hay_viento A Poca_humedad 41 CUADRO No. 4 EJEMPLOS DE LOS DÍAS POSIBLES PARA JUGAR TENIS Ej. Cielo Temperatura Humedad Viento Jugar tenis D1 Sol Alta Alta Débil - D2 Sol Alta Alta Fuerte - D3 Nubes Alta Alta Débil + D4 Lluvia Suave Alta Débil + D5 Lluvia Baja Normal Débil + D6 Lluvia Baja Normal Fuerte - D7 Nubes Baja Normal Fuerte + D8 Sol Suave Alta Débil - D9 Sol Baja Normal Débil + D10 Lluvia Suave Normal Débil + D11 Sol Suave Normal Fuerte + D12 Nubes Suave Alta Fuerte + D13 Nubes Alta Normal Débil + D14 Lluvia Suave Alta Fuerte - Fuente: Ejemplos positivos y negativos para jugar tenis. Elaboración: Carlos Olale Ronquillo Para solucionar el problema del bajo poder descriptivo de la lógica de orden cero, puede utilizarse la lógica de atributos. La idea básica detrás de la lógica de atributos es caracterizar los ejemplos y conceptos como valores de algunos atributos predefinidos. En lugar de utilizar conjunciones de valores fijos, cada atributo es una variable. El poder descriptivo de la lógica de atributos es mayor que el de la lógica de orden cero, aunque en sentido matemático la expresividad es la misma. 42 Como lenguaje descriptivo, la lógica de atributos es mucho más práctica que la lógica de orden cero. Por eso, es utilizada en muchos programas de Aprendizaje Automático, como los de la familia árboles de inducción (Árboles inductivos de arriba hacia abajo - Top-Down Induction Trees). GRÁFICO No. 7 ARBOL DE DECISION GENERADO PARA JUGAR TENIS. Fuente: Ejemplos positivos y negativos para jugar tenis. Elaboración: Carlos Olale Ronquillo La lógica de predicados de primer orden utiliza las cláusulas de Horn para representar conceptos. Estas cláusulas simplifican las descripciones complicadas mediante el uso de predicados y variables. Son bastante potentes, incluso permiten la expresión de conceptos recursivos. El lenguaje Prolog se basa en la lógica de predicados de primer orden. Este tipo de lógica se utiliza en algunos 43 programas de Aprendizaje Automático, como el algoritmo FOIL. Un ejemplo de una cláusula de Horn sería: Abuelo(X,Z) :- Padre(X,Y), Padre(Y,Z) Por último, la lógica de predicados de segundo orden considera a los nombres de los predicados como variables. La expresión anterior quedaría de la forma: p(X,Z) :- q(X,Y), q(Y,Z); donde p es Abuelo y q es Padre. Este tipo de lógica es la de mayor poder descriptivo. Sin embargo, dada su complejidad rara vez se utiliza en los sistemas de Aprendizaje Automático. Tipos de Aprendizaje Automático Existen varios tipos de aprendizaje automático que se detallan a continuación: Aprendizaje por memorización Aprendizaje por instrucción Aprendizaje por deducción Aprendizaje por analogía Aprendizaje por inducción Aprendizaje por ejemplos Aprendizaje por observación – descubrimiento 44 Observación pasiva Experimentación activa Aprendizaje por memorización En el aprendizaje por memorización, los sistemas reciben conocimientos del medio ambiente y los guardan sin ningún tipo de procesamiento. Su complejidad se encuentra en el almacenamiento de los conocimientos y no en su adquisición. Lo importante en estos casos es que la información esté disponible cuando se requiera; no hay ningún tipo de inferencia ni procesamiento, por lo tanto, los conocimientos deben ser adquiridos y almacenados en un nivel que los haga directamente utilizables. Aprendizaje por instrucción En el caso del aprendizaje por instrucción, los conocimientos son provistos por un instructor o experto en la materia (aprendizaje supervisado). La información provista es abstracta o de índole general, por lo tanto, el sistema tendrá que inferir los detalles. Es decir, el sistema deberá transformar la información provista en términos abstractos de alto nivel, a reglas que puedan ser utilizadas directamente en la tarea del sistema. Aprendizaje por deducción El aprendizaje por deducción o aprendizaje guiado por la especificación destaca o especifica las relaciones existentes entre conceptos. El sistema transforma las especificaciones recibidas como entrada en un algoritmo que actualiza relaciones. 45 Aprendizaje por analogía En el aprendizaje por analogía, el sistema, que recibe información relevante a problemas análogos a los que está tratando de resolver, debe descubrir las analogías e inferir reglas aplicables al problema. Se trata de generar nuevos conocimientos utilizando información preexistente. Aprendizaje por inducción En el aprendizaje por inducción, el sistema genera nuevos conocimientos que no están presentes en forma implícita dentro del conocimiento disponible. El aprendizaje por inducción abarca el aprendizaje por ejemplos y el aprendizaje por observación y descubrimiento. Aprendizaje por ejemplos En el aprendizaje por ejemplos, el sistema recibe varios ejemplos como entrada y debe generalizarlos en un proceso inductivo para presentarlos como salida. Generalmente, en este tipo de aprendizaje existen dos tipos de ejemplos, los positivos y los negativos. Los ejemplos positivos fuerzan la generalización, mientras que los ejemplos negativos previenen que esta sea excesiva. Se trata de que el conocimiento adquirido cubra todos los ejemplos positivos y ningún ejemplo negativo. A este tipo de aprendizaje pertenece la familia de árboles de inducción. Debe 46 tenerse en cuenta, que los ejemplos a partir de los cuales aprende el sistema, deben ser representativos de los conceptos que se está tratando de enseñar. Además, la distribución de las clases en el conjunto de ejemplos de entrenamiento, a partir de los que el sistema aprende, debe ser similar a la distribución existente en los datos sobre los cuales se aplicará el modelo. Aprendizaje por observación y descubrimiento En el aprendizaje por observación y descubrimiento, el sistema forma teorías o criterios de clasificación en jerarquías taxonómicas, a partir de la inducción realizando tareas de descubrimiento. Pertenece al tipo de aprendizaje no supervisado y, como tal, permite que el sistema clasifique la información de entrada para formar conceptos. Existen dos formas en las que el sistema interactúa con el entorno: la observación pasiva, en la cual el sistema clasifica las observaciones de múltiples puntos del medio; y la observación activa, en la cual el sistema observa el entorno, realiza cambios en el mismo, y luego analiza los resultados. Métodos Clásicos del Aprendizaje por Inducción Según (Michalski, 1998) quien habla sobre los métodos clásicos de aprendizaje y afirma que: “Existen dos métodos clásicos de aprendizaje inductivo a partir de 47 ejemplos que debemos conocer: el aprendizaje AQ y el aprendizaje según el método de divide y reinarás” (pág. 121). Aprendizaje AQ El aprendizaje AQ se basa en la idea de cubrir progresivamente los datos de entrenamiento a medida que se generan reglas de decisión. Su esencia está en la búsqueda de un conjunto de reglas (conjunciones de pares atributo-valor o predicados arbitrarios) que cubran todos los ejemplos positivos y ningún ejemplo negativo. (Michalski, 1998), habla sobre el aprendizaje y dice: “En lugar de dividir los ejemplos en subconjuntos, el aprendizaje AQ generaliza, paso a paso, las descripciones de los ejemplos positivos seleccionados” (pág. 109). Aprendizaje Divide y Reinarás El aprendizaje “divide y reinarás” realiza la partición de un conjunto de ejemplos en subconjuntos sobre los cuales se puede trabajar con mayor facilidad. En la lógica proposicional, por ejemplo, se parte el conjunto de acuerdo a los valores de un atributo en particular, entonces, todos los miembros de un subconjunto tendrán un mismo valor para dicho atributo. Dentro de este tipo de 48 aprendizaje, encontramos la familia de árboles de inducción (Top-Down Induction Trees). Descubrimiento de conocimientos La Minería de Datos no debe confundirse con el descubrimiento de conocimientos, aunque muchos investigadores consideran que la Minería de Datos no es más que un paso esencial en el descubrimiento de conocimientos. En general, un proceso de descubrimiento de conocimientos consiste de una repetición iterativa de los siguientes pasos: 1. Limpieza de datos (Data cleaning) procesamiento de los datos ruidosos, erróneos, faltantes o irrelevantes. 2. Integración de datos (Data integration) integración de múltiples fuentes heterogéneas de datos en una única fuente. 3. Selección de datos (Data selection) extracción de los datos relevantes al área de análisis del almacenamiento de datos. 4. Transformación de datos (Data transformation) transformación o consolidación de los datos en formas apropiadas para la minería mediante procedimientos de agregación. 5. Minería de Datos: proceso esencial donde se aplican diversos métodos para extraer patrones de los datos. 49 6. Evaluación de patrones (Pattern evaluation) identificación de patrones interesantes basándose en algún parámetro de comparación impuesto por el usuario. 7. Presentación de los conocimientos (Knowledge presentation) técnicas de visualización y representación de los conocimientos obtenidos. Con los sistemas de bases de datos relacionales existentes hoy en día, los cuatro procesos iniciales: limpieza, integración, selección y transformación de datos pueden realizarse mediante la construcción de data warehouses. Los procesos de minería de datos, evaluación de patrones y presentación de conocimientos generalmente se agrupan en el proceso que se conoce como Minería de Datos. De ahí la confusión que puede llegar a existir con el nombre. Problemas Inherentes al Proceso de Aprendizaje Una de las mayores clases de exploración de datos está basada en métodos para el aprendizaje inductivo simbólico a partir de ejemplos. Según (Michalski, 1998) nos dice que: “Dado un conjunto de ejemplos de clases de decisión diferentes y conocimientos de base, el aprendizaje inductivo genera descripciones para cada clase” (pág. 131). En este sentido debe enfrentarse a varios problemas como: Aprendizaje a partir de datos incorrectos 50 Aprendizaje a partir de datos incompletos Aprendizaje a partir de datos distribuidos Aprendizaje a partir de conceptos que evolucionan a través del tiempo Aprendizaje a partir de datos que se obtienen a través del tiempo Aprendizaje a partir de datos subjetivos Aprendizaje a partir de conceptos flexibles Aprendizaje de conceptos en distintos niveles de generalización Integración de descubrimientos cualitativos y cuantitativos. Predicción cualitativa. Cabe destacar que muchos de estos problemas son los mismos con los que se enfrenta un sistema de Aprendizaje Automático que aprende a partir de ejemplos, que pueden tener imperfecciones o pueden estar incompletos, o incluso, no ser representativos del problema que se está analizando. ÁRBOLES DE INDUCCIÓN Los árboles de clasificación (también llamados de decisión o de identificación) constituyen una aproximación radicalmente distinta a todas las estudiadas hasta el momento. Es uno de los métodos de aprendizaje inductivo supervisado no paramétrico más utilizado. Como forma de representación del conocimiento, los árboles de clasificación destacan por su sencillez. A pesar de que carecen de la expresividad de las redes semánticas o de la lógica de primer orden, su dominio de aplicación no está restringido a un ámbito concreto sino que pueden utilizarse 51 en diversas áreas: diagnóstico médico, juegos, predicción meteorológica, control de calidad, etc. Un árbol de clasificación es una forma de representar el conocimiento obtenido en el proceso de aprendizaje inductivo. Puede verse como la estructura resultante de la partición recursiva del espacio de representación a partir del conjunto (numeroso) de prototipos. Esta partición recursiva se traduce en una organización jerárquica del espacio de representación que puede modelarse mediante una estructura de tipo árbol. Cada nodo interior contiene una pregunta sobre un atributo concreto (con un hijo por cada posible respuesta) y cada nodo hoja se refiere a una decisión (clasificación). Los árboles están compuestos de nodos y ramas: Un nodo es un punto de unión. Hay dos tipos de nodos: de decisión y de probabilidad. Una rama es un conector entre dos nodos. Un nodo de decisión representa un punto en el que se debe tomar una decisión. De estos nodos salen ramas que son las posibles decisiones a tomar y se representan con un cuadrado. Un nodo de probabilidad (estado de la naturaleza) representa el momento en que se produce un evento aleatorio. De estos nodos salen ramas que representan posibles resultados para eventos inciertos en los que no se tiene control sobre su resultado. Se representan con un círculo. 52 En un árbol de decisión la secuencia de eventos se desarrolla de izquierda a derecha. Las probabilidades se indican en las ramas de estado de la naturaleza. Son probabilidades condicionales de eventos que ya sucedieron. La decisión que resulta de un análisis de árbol no es una definitiva sino condicionada a la ocurrencia de eventos que sucedan en la próxima decisión. GRÁFICO No. 8 COMPONENTES DE LOS ÁRBOLES DE DECISIÓN Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo. La clasificación de patrones se realiza en base a una serie de preguntas sobre los valores de sus atributos, empezado por el nodo raíz y siguiendo el camino determinado por las respuestas a las preguntas de los nodos internos, hasta llegar a un nodo hoja. La etiqueta asignada a esta hoja es la que se asignará al patrón a clasificar. 53 GRÁFICO No. 9 ESTRUCTURA DE UN ÁRBOL DE DECISIÓN Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo. La metodología a seguir puede resumirse en dos etapas: 1. Aprendizaje o Inducción. Consiste en la construcción del árbol a partir de un conjunto de prototipos, S. Constituye la fase más compleja y la que determina el resultado final. A esta fase dedicamos la mayor parte de nuestra atención. 2. Clasificación. Consiste en el etiquetado de un patrón, X, independiente del conjunto de aprendizaje. Se trata de responder a las preguntas asociadas a los nodos interiores utilizando los valores de los atributos del patrón X. Este proceso se repite desde el nodo raíz hasta alcanzar una hoja, siguiendo el camino impuesto por el resultado de cada evaluación. 54 GRÁFICO No. 10 APRENDIZAJE Y CLASIFICACIÓN CON UN ÁRBOL DE DECISIÓN Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo. EVALUACIÓN DE LOS ARBOLES DE INDUCCIÓN Para los problemas de clasificación, como los de la familia árboles de inducción, es natural medir la performance del clasificador con una proporción de error. El clasificador predice la clase de cada instancia: si la predicción es correcta, estamos ante un éxito; si no lo es, estamos ante un error. La proporción de error, entonces, es simplemente la cantidad de errores sobre la cantidad total de instancias clasificadas. 55 Por supuesto, lo que nos interesa es estimar la proporción de errores sobre los nuevos datos y no sobre los datos de entrenamiento, los cuales ya están clasificados. ¿Podemos decir que la proporción de error estimada a partir de los datos de entrenamiento es correcta para los datos futuros? No, si los datos sobre los que se estimó el error fueron utilizados al generar el clasificador. La proporción de error sobre los datos de entrenamiento no es un buen indicador de los errores futuros; como el clasificador se generó a partir de estos datos, la proporción de error es subjetiva y totalmente optimista. La proporción de error generada a partir de los datos de entrenamiento se conoce como error de sustitución, ya que se calcula al sustituir las instancias en un clasificador que fue construido a partir de ellas. A pesar de que no es un buen estimador para la predicción de futuros errores, es muy útil conocerlo. Para predecir la performance del clasificador en los datos futuros, necesitamos evaluar la proporción de error sobre datos no utilizados durante la construcción del mismo. El conjunto independiente de datos utilizado con este propósito es el conjunto de prueba. Es esencial que el conjunto de prueba no haya sido utilizado para nada en la generación del clasificador. Entonces, aquellos esquemas en que la construcción se realiza en dos etapas o requieren probar el clasificador, trabajan con dos conjuntos de datos: el de entrenamiento y el de prueba. Podemos decir que a mayor cantidad de datos, mejor clasificador y mejor 56 estimador de error. El problema está cuando hay una pequeña cantidad de datos de entrenamiento. En muchas situaciones, los datos de entrenamiento y prueba deben clasificarse manualmente. Debemos encontrar la forma de encontrar un buen estimador de error, aun cuando los datos de prueba escasean. A continuación, se explican varios métodos para evaluar los algoritmos de clasificación. Métodos de Evaluación del Aprendizaje La evaluación es la clave del progreso en la Minería de Datos. Existen varias maneras de inferir estructuras a partir de los datos; para determinar cuál es el mejor método para cada conjunto de datos, debe existir una manera de evaluar los métodos de aprendizaje y compararlos entre sí. Si se cuenta con una gran cantidad de datos, la evaluación no es problema: se genera un modelo a partir de un conjunto grande de entrenamiento y, luego, se lo prueba con otro gran conjunto de datos. Sin embargo, aunque la Minería de Datos implica por su definición trabajar con grandes cantidades de datos, los conjuntos de datos de buena calidad son pocos. Los datos de entrenamiento deben ser cuidadosamente generados por expertos humanos. Existen varios indicadores de la performance de un algoritmo de aprendizaje. Algunos de ellos se describen a continuación: 57 • Precisión: cantidad de ejemplos positivos y negativos evaluados correctamente. Algunas veces, es importante distinguir entre dos tipos de errores: los ejemplos positivos clasificados como negativos (errores de omisión) y viceversa (errores de comisión). Estos dos tipos de errores nos ayudan a determinar si los conceptos aprendidos son demasiado generales o demasiado específicos. Para que un sistema sea preciso, es necesario que genere descripciones que sean consistentes (no cubran ningún ejemplo negativo) y que sean completas (cubran todos los ejemplos positivos). • Eficiencia: un sistema debe ser capaz de generar descripciones correctas con un número mínimo de ejemplos. Un instructor no siempre puede dotar al sistema de una cantidad infinita de ejemplos, y la velocidad en el aprendizaje es un indicador de inteligencia. Dentro de la eficiencia, debemos evaluar también los requerimientos computacionales. Estos se miden en función a la cantidad de tiempo y recursos que un sistema necesita para llegar a una buena descripción. • Comprensibilidad: es importante que los conceptos generados sean comprensibles al usuario, ya que el fin último de estos sistemas es que el usuario aprenda algo de ellos. • Robustez: contra el ruido y contra los ejemplos incompletos. Cada 58 sistema maneja estos dos problemas de forma diferente, con lo cual debe evaluarse en cada sistema en particular. • Requerimientos especiales: en algunos dominios, se requiere que un sistema aprenda a medida que llegan los ejemplos. Esto se conoce como aprendizaje incremental y es, especialmente, importante en aquellas áreas en que los conceptos evolucionan, cambian su significado a través del tiempo. Evaluación Cruzada (Cross-Validation) Cuando existe una cantidad limitada de datos de entrenamiento y prueba, puede aplicarse el método de retención (holdout) para estimar la proporción de error. Este método reserva una cierta cantidad de datos al azar para prueba y utiliza el resto para el entrenamiento. En general, se reserva un tercio para prueba y se utilizan dos tercios como datos de entrenamiento. Por supuesto, siempre cabe la posibilidad de que los datos utilizados para entrenamiento y prueba no sean representativos de los datos sobre los que se utilizará el modelo posteriormente. En general, no se puede afirmar si un conjunto es representativo o no, pero existe una prueba muy simple que vale la pena realizar: cada una de las clases del conjunto total de datos debería estar representada en la misma proporción en los datos de entrenamiento y prueba, y esta proporción debería ser similar a la que se presentará cuando se aplique el modelo generado al caso real. Supongamos que todos los ejemplos de una clase 59 determinada no entran en el conjunto de entrenamiento, el clasificador generado será incorrecto. Al trabajar con la hipótesis del Universo Cerrado, no podemos pretender que clasifique correctamente los miembros de una clase que no sabía que existía. Si en el conjunto de prueba hay datos de esa clase, la proporción de error obtenida será muy grande. Entonces, al dividir al azar los datos preclasificados entre los conjuntos de entrenamiento y prueba, debemos garantizar que cada clase esté correctamente representada tanto en los datos de prueba como en los de entrenamiento. Este procedimiento se conoce como estratificación (stratification), y podemos hablar de una retención estratificada. Una manera de evitar la tendencia introducida por los datos retenidos, es repetir el proceso completo (entrenamiento y prueba) varias veces con distintas divisiones de los datos. En cada iteración, una misma proporción de los datos se retiene al azar para las pruebas y el resto se utiliza para el entrenamiento. Las proporciones de error obtenidas en las múltiples iteraciones se promedian para obtener una proporción de error general. Este método se conoce como retención repetida (repeated holdout). En un procedimiento de retención general podríamos elegir cambiar los roles de los datos de entrenamiento y de prueba entre sí. No obstante, esto es factible únicamente si trabajamos con una proporción 50:50, lo cual no es ideal ya que conviene utilizar más del 50% de los datos para el entrenamiento. Para solucionar 60 este problema utilizamos una variación del método estadístico de validación cruzada (cross-validation). En la validación cruzada, se determina con anterioridad una cierta cantidad de pliegos o particiones de los datos. Supongamos que utilizamos tres, es decir, los datos se dividen al azar en tres particiones de aproximadamente la misma cantidad, y cada una a su turno se utiliza para prueba mientras que las otras dos se utilizan para entrenamiento. Por lo tanto, utilizamos un tercio para prueba y dos tercios para entrenamiento, y repetimos el procedimiento tres veces. Las tres proporciones de error obtenidas se promedian para llegar a una proporción de error general. Este procedimiento conocido como validación cruzada de tres pliegues (threefold cross-validation), puede trabajar con datos estratificados, en cuyo caso sería validación cruzada de tres pliegues estratificada. Podemos generalizar el método para llegar a una validación cruzada de n pliegues, estratificada o no. El caso más utilizado para predecir la proporción de error de una técnica de aprendizaje es utilizar una validación cruzada de diez pliegues. El utilizar una validación cruzada de diez pliegues puede no ser suficiente para obtener un buen estimador de la proporción de error. Distintas validaciones cruzadas de diez pliegues dan distintos resultados dado que la división en 61 pliegues se realiza al azar. La estratificación reduce la variación entre los resultados pero no la elimina. Si se quiere obtener una estimación de la proporción de error muy precisa, generalmente, se repite la validación cruzada de diez pliegues diez veces y se promedian los resultados. Esto implica invocar al algoritmo de aprendizaje cien veces con conjuntos de datos del tamaño del 90% del conjunto original. Obtener una buena medida de la performance es un método que consume grandes recursos computacionales. Evaluación Dejar-Uno-Afuera (LEAVE-ONE-OUT) La validación cruzada de diez pliegues es una manera normalmente utilizada para estimar la proporción de error, pero no es la única. Existen otras técnicas bastante populares como la de dejar-uno-afuera. Esta técnica es simplemente una validación cruzada de n pliegues donde n es el número de instancias del conjunto de datos. Por turnos, cada una de las instancias se deja afuera y se entrena el clasificador con el resto de las instancias. Se lo evalúa según el resultado de la clasificación de la instancia que había quedado afuera. Los resultados de la n evaluaciones luego se promedian para determinar la proporción de error. Este procedimiento es atractivo por dos razones. Primero, se utiliza la mayor cantidad de ejemplos posibles para el entrenamiento, lo cual se presume incrementa la posibilidad de que el clasificador sea correcto. Segundo, el 62 procedimiento es determinístico: no se parten los datos al azar. Además, no tiene sentido repetir el procedimiento diez ni cien veces, ya que siempre se obtendrá el mismo resultado. Debe tenerse en cuenta que dado el alto costo computacional de aplicar este método, no es factible utilizarlo para grandes conjunto de datos. Sin embargo, este método es el mejor para pequeños conjuntos de datos porque, en cierta medida, evalúa todas las posibilidades. Evaluación Bootstrap Este método está basado en el procedimiento estadístico de obtener muestras con sustitución. En los métodos anteriores, cuando se tomaba una muestra de los datos de entrenamiento o de prueba, se lo hacía sin reemplazo. Es decir, la misma instancia, una vez seleccionada, no podía seleccionarse nuevamente. La mayoría de las técnicas de aprendizaje pueden, no obstante, utilizar la misma instancia dos veces, y el hecho de repetirse genera una diferencia. La idea del bootstrap es tomar muestras del conjunto de datos con remplazo para formar un conjunto de entrenamiento. Para ello, un conjunto de n instancias se muestrea n veces, con reemplazo, y se obtiene otro conjunto de datos de n instancias. Como algunas instancias del segundo conjunto estarán repetidas, deben existir algunas instancias del conjunto original que no fueron seleccionadas. Utilizaremos estas instancias para el conjunto de prueba. 63 La probabilidad de que una instancia particular sea elegida para el conjunto de entrenamiento es de 1/n, y, por lo tanto, hay un 1-1/n de probabilidad de que no sea elegida. Si multiplicamos esto según la n oportunidades de ser elegida, obtenemos la siguiente probabilidad de que no sea escogida: Entonces, un conjunto de datos lo suficientemente grande contendrá un 36.8% de instancias de prueba y un 63.2% de entrenamiento. Esta es la razón por la cual este método se conoce como el 0.632 bootstrap. El error estimado sobre el conjunto de prueba será pesimista porque el clasificador tiene en cuenta sólo el 63% de los datos del conjunto original, lo cual es poco frente al 90% de la validación cruzada de diez pliegues. Para compensar el error del conjunto de entrenamiento se combina con el error en el conjunto de prueba de la siguiente manera: Luego, todo el proceso de bootstrap se repite varias veces, y todos los estimadores de error se promedian. 64 ALGORITMOS DE CLASIFICACIÓN En la Clasificación de Datos se desarrolla una descripción o modelo para cada una de las clases presentes en la base de datos. Existen muchos métodos de clasificación como aquellos basados en los arboles de inducción como el ID3 y el C4.5, los métodos estadísticos, las redes neuronales, y los conjuntos difusos, entre otros. A continuación se describen brevemente aquellos métodos de Aprendizaje Automático que han sido aplicados a la Minería de Datos con cierto éxito: Algoritmos estadísticos: Muchos algoritmos estadísticos han sido utilizados por los analistas para detectar patrones inusuales en los datos y explicar dichos patrones mediante la utilización de modelos estadísticos, como, por ejemplo, los modelos lineales. Estos métodos se han ganado su lugar y seguirán siendo utilizados en los años venideros. Redes Neuronales: las redes neuronales imitan la capacidad de la mente humana para encontrar patrones. Han sido aplicadas con éxito en aplicaciones que trabajan sobre la clasificación de los datos. Algoritmos genéticos: técnicas de optimización que utilizan procesos como el entrecruzamiento genético, la mutación y la selección natural en un diseño basado en los conceptos de la evolución natural. 65 Método del vecino más cercano: es una técnica que clasifica cada registro de un conjunto de datos en base a la combinación de las clases de los k registros más similares. Generalmente se utiliza en bases de datos históricas. Reglas de inducción: la extracción de reglas si-entonces a partir de datos de importancia estadística. Visualización de los datos: la interpretación visual de las relaciones entre datos multidimensionales. Clasificadores basados en instancias o ejemplos: Una manera de clasificar un caso es a partir de un caso similar cuya clase es conocida, y predecir que el caso pertenecerá a esa misma clase. Esta filosofía es la base para los sistemas basados en instancias, que clasifican nuevos casos refiriéndose a casos similares recordados. Un clasificador basado en instancias necesita teorías simbólicas. Los problemas centrales de este tipo de sistemas se pueden resumir en tres preguntas: ¿cuáles casos de entrenamiento deben ser recordados?, ¿cómo puede medirse la similitud entre los casos?, y ¿cómo debe relacionarse el nuevo caso a los casos recordados? Los métodos de aprendizaje basados en reglas de clasificación buscan obtener 66 reglas o árboles de decisión que particionen un grupo de datos en clases predefinidas. Para cualquier dominio real, el espacio de datos es demasiado grande como para realizar una búsqueda exhaustiva en el mismo. En cuanto a los métodos inductivos, la elección del atributo para cada uno de los nodos se basa en la ganancia de entropía generada por cada uno de los atributos. Según (Joshi, 1997) se señala que: “Una vez que se ha recopilado la información acerca de la distribución de todas las clases, la ganancia en la entropía se calcula utilizando la teoría de la información o bien el índice de Gini” (pág. 98). ALGORITMOS DE ARBOLES DE INDUCCIÓN. Algoritmo ID3 El algoritmo ID3 para (Quilan, 1993): Es un algoritmo utilizado en el área de la inteligencia artificial y su uso abarca la búsqueda de hipótesis o reglas en él, dado un conjunto de ejemplos que deben estar conformados por una serie de tuplas de valores, cada uno de ellos denominados atributos, en el que uno de esos valores el atributo a clasificar es el objetivo; el mismo que es de tipo binario con valores positivo o negativo, sí o no, válido o inválido ( pag,107). 67 De esta manera el algoritmo ID3 trata de obtener las hipótesis que clasifiquen ante las nuevas instancias, si dicho ejemplo va a ser positivo o negativo.ID3 realiza esta tarea mediante la construcción de un árbol de decisión. En el árbol de decisión los elementos son: Nodos: Los cuales contendrán los atributos. Arcos: Los cuales contendrán los posibles valores del nodo padre. Hojas: Nodos que clasifican el ejemplo como positivo o negativo. Este sistema ha sido el que más impacto ha tenido en la Minería de Datos. Desarrollado en los años ochenta por Quinlan, ID3 significa Induction Decision Trees, y es un sistema de aprendizaje supervisado que construye árboles de decisión a partir de un conjunto de ejemplos. Estos ejemplos son tuplas compuestas por varios atributos y una única clase. El dominio de cada atributo de estas tuplas está limitado a un conjunto de valores. Las primeras versiones del ID3 generaban descripciones para dos clases: positiva y negativa. En las versiones posteriores, se eliminó esta restricción, pero se mantuvo la restricción de clases disjuntas. ID3 genera descripciones que clasifican cada uno de los ejemplos del conjunto de entrenamiento. El nivel de precisión en la clasificación es alto. Sin embargo, el sistema no hace uso del conocimiento del dominio. Además, muchas veces los árboles son demasiado frondosos, lo cual conlleva a una difícil interpretación. 68 GRÁFICO No. 11 ALGORITMO ID3 Fuente: Datos de la Investigación Elaboración: Carlos Olale Ronquillo Pseudocódigo del algoritmo ID3: Si todos los ejemplos de E pertenecen a una misma clase C, entonces arbol1 <-- nodo etiquetado con C SiNo Si a = f, entonces C <-- clase mayoritaria de los ejemplos de E arbol1 <-- nodo etiquetado con C SiNo A <-- mejor atributo de a arbol1 <-- nodo etiquetado con A Para cada v perteneciente a los valores de A, hacer EAv <-- los ejemplos de E que tienen el valor v para el atributo A Si EAv = f, entonces arbol2 <-- nodo etiquetado con la clase mayoritaria en E SiNo arbol2 <-- ID3(EAv , a-{A}) arbol1 <-- añadir a arbol1 el arbol2, a través de una rama etiquetada con v Devolver arbol1 69 Para definir “ganancia de información” primero debemos definir el concepto entropía que básicamente corresponde a la cantidad de incertidumbre en un atributo. Dada una colección S (data sobre la cual se calcula la entropía que cambia con cada iteración) con c posibles resultados: Donde x es el set de clases en S y 𝑝𝑥 es la proporción de S que pertenece a la clase x. Cuando 𝐸𝑛𝑡𝑟𝑜𝑝í(𝑆)=0, entonces el set S está perfectamente clasificado, es decir, que todos los elementos de S están en la misma clase (si es 1 es que están clasificados en forma aleatoria). De la definición anterior se despende que la “ganancia de información” (Information Gain “IG”) corresponde a la diferencia en entropía entre antes de haber separado la data S por un atributo versus después de hacerlo, es decir, en cuanto se redujo la incertidumbre en el set S después de dividirla en el atributo “A”: Donde 𝑆𝑣 es el set de S para el cual el atributo A tiene el valor v. Los elementos |𝑆𝑣 | y |𝑆𝑣 |corresponden al número de observaciones en 𝑆𝑣 y 𝑆 respectivamente. Algoritmo C4.5 C4.5 es un algoritmo usado para generar un árbol de decisión desarrollado por Ross Quinlan; además el C4.5 es una extensión del algoritmo ID3 desarrollado anteriormente por Quinlan. Los árboles de decisión generados por C4.5 pueden ser usados para clasificación, y por esta razón, C4.5 está casi siempre referido como un clasificador estadístico. 70 El árbol se construye mediante la estrategia de profundidad-primero (depth-first). El algoritmo considera todas las pruebas posibles que pueden dividir el conjunto de datos y selecciona la prueba que resulta en la mayor ganancia de información. Para cada atributo discreto, se considera una prueba con n resultados, siendo n el número de valores posibles que puede tomar el atributo. Para cada atributo continuo, se realiza una prueba binaria sobre cada uno de los valores que toma el atributo en los datos. El algoritmo C4.5 genera un árbol de decisión a partir de los datos mediante particiones realizadas recursivamente. El árbol se construye mediante la estrategia de profundidad-primero (depth-first). El algoritmo considera todas las pruebas posibles que pueden dividir el conjunto de datos y selecciona la prueba que resulta en la mayor ganancia de información. Para cada atributo discreto, se considera una prueba con n resultados, siendo n el número de valores posibles que puede tomar el atributo. Para cada atributo continuo, se realiza una prueba binaria sobre cada uno de los valores que toma el atributo en los datos. En cada nodo, el sistema debe decidir cuál prueba escoge para dividir los datos. Los tres tipos de pruebas posibles propuestas por el C4.5 son: 71 La prueba "estándar" para las variables discretas, con un resultado y una rama para cada valor posible de la variable. Una prueba más compleja, basada en una variable discreta, en donde los valores posibles son asignados a un número variable de grupos con un resultado posible para cada grupo, en lugar de para cada valor. Si una variable A tiene valores numéricos continuos, se realiza una prueba binaria con resultados A <= Z y A > Z, para lo cual debe determinarse el valor límite Z. Todas estas pruebas se evalúan de la misma manera, mirando el resultado de la proporción de ganancia, o alternativamente, el de la ganancia resultante de la división que producen. Ha sido útil agregar una restricción adicional: para cualquier división, al menos dos de los subconjuntos Ci deben contener un número razonable de casos. Esta restricción, que evita las subdivisiones casi triviales, es tenida en cuenta solamente cuando el conjunto C es pequeño. Características del Algoritmo C4.5 Permite trabajar con valores continuos para los atributos, separando los posibles resultados en 2 ramas Ai<=N y Ai>N. Los árboles son menos frondosos, ya que cada hoja cubre una distribución de clases no una clase en particular. Utiliza el método "divide y vencerás" para generar el árbol de decisión inicial a partir de un conjunto de datos de entrenamiento. 72 Se basa en la utilización del criterio de proporción de ganancia (gain ratio), definido como I(Xi,C)/H(Xi). De esta manera se consigue evitar que las variables con mayor número de posibles valores salgan beneficiadas en la selección. Es Recursivo. HEURÍSTICA Utiliza una técnica conocida como Gain Ratio (proporción de ganancia). Es una medida basada en información que considera diferentes números y diferentes probabilidades) de los resultados de las pruebas. Atributos de valores continuos: Inicialmente el algoritmo ID3 se planteó para atributos que presentaban un número discreto de valores. Podemos fácilmente incorporar atributos con valores continuos, implemente dividiendo estos valores en intervalos discretos, de forma que el atributo tendrá siempre valores comprendidos en uno de estos intervalos. Medidas alternativas en la selección de atributos: Al utilizar la ganancia de información estamos introduciendo involuntariamente un sesgo que favorece a los atributos con muchos valores distintos. Debido a que dividen el conjunto de ejemplos en muchos subconjuntos, la ganancia de información es forzosamente alta. Sin embargo, estos atributos no son buenos predictores de la función objetivo para nuevos ejemplos. Una medida alternativa que se ha usado con éxito es la "gain ratio". 73 Atributos con valores perdidos: En ciertos casos existen atributos de los cuales conocemos su valor para algunos ejemplos, y para otros no. Por ejemplo una base de datos médica en la que no a todos los pacientes se les ha practicado un análisis de sangre. En estos casos lo más común es estimar el valor basándose en otros ejemplos de los que sí conocemos el valor. Normalmente se fija la atención en los demás ejemplos de ese mismo nodo. Así, al ejemplo de valor desconocido se le da el valor que más aparezca en los demás ejemplos. Atributos con pesos diferentes: En algunas tareas de aprendizaje los atributos pueden tener costes asociados. Por ejemplo, en una aplicación médica para diagnosticar enfermedades podemos tener atributos como temperatura, resultado de la biopsia, pulso, análisis de sangre, etc., que varían significativamente en su coste, monetario y relativo a molestias para el paciente. Ventajas Respecto al Algoritmo ID3, Mejoras del Algoritmo C4.5 Evitar Sobreajuste de los datos. Determinar qué tan profundo debe crecer el árbol de decisión. Reducir errores en la poda. Condicionar la Post-Poda. Manejar atributos continuos. Escoger un rango de medida apropiado. Manejo de datos de entrenamiento con valores faltantes. 74 Manejar atributos con diferentes valores. Mejorar la eficiencia computacional. SOBREAJUSTE (OVERFITTING) A medida que se añaden niveles AD, las hipótesis se refinan tanto que describen muy bien los ejemplos utilizados en el aprendizaje, pero el error de clasificación puede aumentar al evaluar los ejemplos. Es decir, clasifica muy bien los datos de entrenamiento pero luego no sabe generalizar al conjunto de prueba. Es debido a que prende hasta el ruido del conjunto de entrenamiento, adaptándose a las regularidades del conjunto de entrenamiento. Este efecto es, por supuesto, indeseado. Hay varias causas posibles para que esto ocurra. Las principales son: Exceso de ruido (lo que se traduce en nodos adicionales) Un conjunto de entrenamiento demasiado pequeño como para ser una muestra representativa de la verdadera función objetivo. Hay varias estrategias para evitar el sobreajuste en los datos. Pueden ser agrupadas en dos clases: Estrategias que frenan el crecimiento del árbol antes de que llegue a clasificar perfectamente los ejemplos del conjunto de entrenamiento. Estrategias que permiten que el árbol crezca completamente, y después realizan una poda. 75 POST PRUNNING (POST PODA) Es una variante de la poda y es usada por el C4.5. Consiste en una vez generado el árbol completo, plantearse qué es lo que se debe "podar" para mejorar el rendimiento y de paso obtener un árbol más corto. Hay tres razones principales para hacer esto: Ayuda a distinguir entre los diferentes contextos en los que se usa un nodo de decisión, debido a que cada camino de la raíz a una hoja se traduce en una regla distinta. Deja de existir la distinción entre nodos que están cerca de la raíz y los que están lejos. Así no hay problemas para reorganizar el árbol si se poda un nodo intermedio. Mejora la legibilidad. Las reglas suelen ser más fáciles de entender. GRÁFICO No. 12 PROCEDIMIENTO DE POST-PODA DEL ALGORITMO C4.5 Fuente: Datos de la Investigación Elaboración: Carlos Olale Ronquillo. 76 Para (Breiman y otros, 1984) se debe: “primero construir un árbol llamado maximal, con la única condición de no permitir nodos con muy pocos elementos, para luego aplicarle un proceso denominado poda”. (pág. 35) Estructuras Utilizadas en el Algoritmo C4.5 El C4.5 forma parte de la familia de los TDIDT (Top Down Induction Trees), junto con antecesor el ID3. El C4.5 se basa en el ID3, por lo tanto, la estructura principal de ambos métodos es la misma. El C4.5 construye un árbol de decisión mediante el algoritmo "divide y vencerás" y evalúa la información en cada caso utilizando los criterios de Entropía, Ganancia o proporción de ganancia, según sea el caso. Por otra parte, los árboles de decisión pueden entenderse como una representación de los procesos involucrados en las tareas de clasificación. Están formados por: Nodos: Nombres o identificadores de los atributos. Ramas: Posibles valores del atributo asociado al nodo. Hojas: Conjuntos ya clasificados de ejemplos y etiquetados con el nombre de una clase. 77 Raíz: NodoA NodoB. Set de posibles respuestas. Set de posibles respuestas Rama. Ejemplo aplicado de Árbol de Decisión adaptado para C4.5 GRÁFICO No. 13 PSEUDOCODIGO DE C4.5 Segun (Espino,2003) el pseudocodigo del algoritmo C4.5 es el siguiente: Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo. 78 Algoritmo AQ15 El AQ15 fue desarrollado por Michalski. Es un sistema de aprendizaje inductivo que genera reglas de decisión, donde el antecedente es una fórmula lógica. Una característica particular de este sistema es la inducción constructiva (constructive induction), es decir, el uso de conocimientos del dominio para generar nuevos atributos que no están presentes en los datos de entrada. Al igual que el ID3, el AQ15 está diseñado para la generación de reglas fuertes, es decir, que para cada clase, se construye una regla que cubre todos los ejemplos positivos y ningún ejemplo negativo. El sistema soluciona el problema de los ejemplos incompletos o inconsistentes mediante un pre o post procesamiento. En el post procesamiento, además, se reduce de forma drástica la cantidad de reglas generadas mediante el truncamiento de reglas, el cual no afecta la precisión de las reglas obtenidas. AQ15 ha sido testeado en dominios médicos, como el diagnóstico en la limfografía, diagnóstico de cáncer de mama y la ubicación del tumor primario. En estos casos, se obtuvieron reglas con el mismo nivel de precisión que el de los expertos humanos. En todos los casos, los datos de entrenamiento son conjuntos chicos, de unos cientos de ejemplos. 79 Algoritmo CN2 El sistema CN2, desarrollado por Clark y Niblett, es una adaptación del AQ15. La gran desventaja del AQ15 es que elimina los ruidos mediante pre y post procesamiento y no durante la ejecución del algoritmo. El objetivo del CN2 es, entonces, incorporar el manejo de datos ruidosos al algoritmo en sí. Combina entonces las técnicas de poda utilizadas en el ID3, con las técnicas de reglas condicionales utilizadas en el AQ15. El CN2 genera reglas simples y comprensibles en dominios donde los datos pueden tener ruido. Construye reglas probabilísticas, es decir, el antecedente en cada regla cubre ejemplos positivos de una clase, pero también puede cubrir ejemplos de otra clase en menor número. De esta forma no restringe el espacio de búsqueda únicamente a aquellas reglas inferibles a partir de los ejemplos. La performance el ID3, AQ15 y CN2 ha sido comparada en dominios médicos y artificiales. Las estructuras de conocimiento generadas en cada caso son de similar calidad y complejidad. 80 GRÁFICO No. 14 ALGORITMO CN2 Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo. GRÁFICO No. 15 PROCEDIMIENTO MEJOR COMPLEJO Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo 81 Algoritmo DBLearn El sistema DBLearn fue diseñado por Cai, Han y Cercone y utiliza conocimientos del dominio para generar descripciones para subconjuntos predefinidos de una base de datos relacional. Las características especiales de este sistema son su estrategia de búsqueda de abajo hacia arriba (bottom up); el uso de conocimientos del dominio como jerarquías de valores de atributos y el uso del álgebra relacional. El conjunto de entrenamiento es una tabla de datos relacional con ntuplas. El sistema DBLearn es relativamente simple, ya que utiliza solo dos operaciones de generalización para construir los descriptores. La generalización está orientada a los atributos, lo cual limita el conjunto de descriptores que pueden ser construidos. La performance del sistema es buena, y la complejidad en el tiempo está en el orden de los O (N logN), siendo N la cantidad inicial de tuplas. Algoritmo META-DENDRAL El sistema Meta-Dendral es un sistema especial para la generación de reglas de conocimiento en la estereoscopia. Esta ciencia estudia la estructura tridimensional de la molécula. El Meta-Dendral es interesante porque utiliza un sistema de representación de conocimientos totalmente diferente a los anteriores. Al buscar generar reglas que puedan predecir dónde se romperá la estructura de una molécula, toma las estructuras moleculares como entrada. 82 El sistema ha sido exitoso para encontrar reglas de fragmentación desconocidas hasta el momento. Sin embargo, la estrategia de búsqueda es ineficiente, ya que genera muchas reglas de decisión que luego son eliminadas en la etapa de optimización. Es muy difícil encontrar heurísticas que guíen la búsqueda y no existen técnicas explícitas que ayuden a eliminar ruidos o a destacar casos especiales. Algoritmo RADIX/RX El sistema RX se utiliza para el descubrimiento de relaciones en bases de datos clínicas. La diferencia importante con otros sistemas es que incorpora la noción de tiempo: un dato es un conjunto de ejemplos que guardan información de un paciente en diferentes momentos, y los conocimientos generados son de naturaleza causal. El sistema divide su proceso de descubrimiento en dos etapas: primero genera hipótesis y, luego, utiliza técnicas avanzadas de estadística para validarlas. El sistema RX fue utilizado en una base de reumatología y sirvió para probar hipótesis acerca de la cantidad de droga prodnisone que aumenta el colesterol en la sangre. Sin embargo, la principal desventaja de este sistema es que no utiliza información del dominio para guiar la búsqueda. Una versión mejorada del RX, el RADIX, sí lo hace. 83 Algoritmo BACON El sistema BACON utiliza algoritmos de análisis de datos para descubrir relaciones matemáticas entre datos numéricos. Ha redescubierto leyes como la ley de Ohm para circuitos eléctricos y la ley de desplazamiento de Arquímides. Los datos de entrenamiento son numéricos y, normalmente, son generadas en algún experimento previo. Cada tupla está constituida por los valores de las mediciones durante el experimento. El sistema BACON tiene varias desventajas: no considera el ruido en los datos, ni la inconsistencia o los datos incompletos. Además, considera que todas las variables son relevantes, y explora todas las soluciones posibles utilizando un grafo, lo cual empeora considerablemente su performance. Algoritmo SLIQ El algoritmo SLIQ (Supervised Learning In Quest) fue desarrollado por el equipo Quest de IBM. Este algoritmo utiliza los árboles de decisión para clasificar grandes cantidades de datos. El uso de técnicas de pre-ordenamiento en la etapa de crecimiento del árbol, evita los costos de ordenamiento en cada uno de los nodos. SLIQ mantiene una lista ordenada independiente de cada uno de los valores de los atributos continuos y una lista separada de cada una de las clases. 84 Un registro en la lista ordenada de atributos consiste en el valor del atributo y un índice a la clase correspondiente en la lista de clases. SLIQ construye el árbol de forma ancho-primero (breadth-first). Para cada uno de los atributos busca en la lista correspondiente y calcula los valores de entropía para cada uno de los nodos de la frontera simultáneamente. A partir de la información obtenida se particionan los nodos de la frontera, y se expanden para obtener una nueva frontera. Aunque SLIQ trabaja con datos que pueden estar en disco mientras se ejecuta el algoritmo, necesita que cierta información resida en memoria permanentemente durante la totalidad de la ejecución del mismo. Dicha información crece proporcionalmente a la cantidad de registros de entrada, lo cual limita en gran medida la cantidad de registros de entrenamiento. Para solucionar este problema el equipo de desarrollo del Quest, ha desarrollado otro algoritmo de clasificación basado en árboles de decisión: el SPRINT (Scalable Parallelizable Induction of decision Trees). El SPRINT elimina todas las restricciones de memoria presentes en el SLIQ. 85 CUADRO No. 5 FORTALEZA Y DEBILIDADES DE LOS ALGORITMOS DE INDUCCION ALGORITMO FORTALEZA ID3 Construye un árbol pequeño C4.5 Evitar sobre ajuste de los datos. AQ15 Genera reglas de decisión, donde el antecedente es una fórmula lógica. RADIX/RX BACON Incorpora la noción de tiempo y el sistema divide su proceso de descubrimiento en dos etapas: primero genera hipótesis y, luego, utiliza técnicas avanzadas de estadística para validarlas. Utiliza algoritmos de análisis de datos para descubrir relaciones matemáticas entre datos numéricos. SLIQ Utiliza los árboles de decisión para clasificar grandes cantidades de datos. METADENDRAL Genera de reglas de conocimiento en la estereoscopia. CN2 Incorporar el manejo de datos ruidosos al algoritmo en sí. DBLEARN Usa la estrategia de búsqueda de abajo hacia arriba (bottom up); el uso de conocimientos del dominio como jerarquías de valores de atributos y el uso del álgebra relacional. DEBILIDAD Clasificar datos continuos puede ser computacionalmente muy costoso, ya que deben crearse muchos árboles para ver dónde romper la continuidad. No permite considerar distintos costes de clasificación errónea, es decir, sólo computa el número global de errores sin distinguir si se trata de clasificar una empresa sana como fracasada o clasificar una fracasada como sana Elimina los ruidos mediante pre y post procesamiento y no durante la ejecución del algoritmo. No utiliza información del dominio para guiar la búsqueda. No considera el ruido en los datos, ni la inconsistencia o los datos incompletos. Trabaja con datos que pueden estar en disco mientras se ejecuta el algoritmo y se necesita que cierta información resida en memoria permanentemente durante la totalidad de la ejecución del mismo. Genera muchas reglas de decisión que luego son eliminadas en la etapa de optimización. Las funciones de pertenencia generadas por proyección son difícilmente interpretables No existe un método o un conjunto de métodos que sirvan para todas las tareas, por lo que a veces es necesario probar para una determinada tarea, varios métodos. Fuente: Datos de la Investigación. Elaboración: Carlos Olale Ronquillo 86 FUNDAMENTACIÓN LEGAL El presente trabajo de investigación dirigido al área tecnológica se encuentra fundamentado en los siguientes artículos legales: Reglamento Codificado De Régimen Académico Del Sistema Nacional De Educación Superior TÍTULO II DE LA FORMACIÓN ACADÉMICA Y PROFESIONAL CAPÍTULO VI Del Trabajo de Titulación o Graduación Art. 34. El trabajo de graduación o titulación constituye uno de los requisitos obligatorios para la obtención del título o grado en cualquiera de los niveles de formación. Dichos trabajos pueden ser estructurados de manera independiente o como consecuencia de un seminario de fin de carrera, de acuerdo a la normativa de cada institución. Art. 35. El estudiante, una vez egresado, dispondrá como máximo de un año para el nivel técnico superior y de dos años para el tercer nivel o de pregrado, para culminar su trabajo de titulación o graduación; pasado este tiempo se someterá a los requerimientos de actualización de conocimientos determinados por la institución y los relacionados con el trabajo de titulación o graduación. Los programas de cuarto nivel o de postgrado se regirán por su propio reglamento. 87 TÍTULO VI DE LA INVESTIGACIÓN E INNOVACIÓN Art. 85. Las instituciones de educación superior establecerán medidas para facilitar oportunidades y estímulos para realizar investigación, cuyos resultados deberán ser difundidos de manera oportuna y adecuada. Art. 86. Las instituciones de educación superior deben propiciar un acercamiento al quehacer científico y a la innovación tecnológica a estudiantes y jóvenes profesionales con talento para la investigación, mediante su vinculación a grupos de investigación y centros de desarrollo tecnológico, a través del trabajo de graduación, becas, servicios a la comunidad, prácticas o pasantías pre profesionales en los campos de su especialidad, entre otras. PREGUNTAS A CONTESTARSE ¿Qué tipos de sistemas generan como resultado árboles de decisión? La familia de los Top Down Induction Trees (TDIDT) analiza datos previamente clasificados y genera árboles de inducción para los mismos. Este estudio se enfocó en dos algoritmos de dicha familia, el ID3 creado por Quinlan en el año 1986 y el C4.5 creado por Quinlan unos años más tarde, 1993. Estos algoritmos generan como resultado árboles de decisión que pueden aplicarse tanto por un operador humano como por una máquina para clasificar nuevos casos. 88 ¿Qué condiciones deben cumplir los datos para que su análisis con el algoritmo ID3 o el algoritmo C4.5 sean útiles y válidos? Como expresamos en líneas anteriores, no todos los datos son aptos para ser analizados con el ID3 y el C4.5. En general, estos algoritmos trabajan con problemas de clasificación, es decir, problemas donde las instancias pertenecen o no a una clase. De esta manera, el árbol de decisión generado contiene en las hojas las distintas clases a las que pueden pertenecer los datos. ¿Qué tan fácil es para un ser humano trabajar con estos algoritmos? Se plantea que el desarrollo sea en un ambiente integrado, en el que un usuario puede fácilmente aplicar estos dos algoritmos a bases de datos existentes. El usuario debe trabajar con una interface gráfica que sea mucho más amigable de por sí que los de línea de comandos, en donde, con una simple selección se pueda aplicar el algoritmo ID3 o el C4.5 en la base de datos que se utilizara previamente. VARIABLES DE LA INVESTIGACIÓN Para efectos de este estudia hemos considerado dos tipos de variables detalladas a continuación CUADRO No. 6 VARIABLES DE LA INVESTIGACIÓN TIPO DESCRIPCIÓN Independiente Minería de datos. Dependiente 1 Algoritmos de árboles de inducción Fuente: Resultados del estudio de la Investigación. Elaboración: Carlos Olale Ronquillo 89 CAPÍTULO III METODOLOGÍA DISEÑO DE LA INVESTIGACIÓN Modalidad de la Investigación El trabajo de investigación corresponde básicamente a un estudio de tesis con planteamiento factible, consiste en la investigación, elaboración y desarrollo de una documentación operable para guía de estudio a los estudiantes de la Carrera de Ingeniería en Sistemas Computacionales. Según (Bautista, 2004) dice que: Los proyectos factibles son también conocidos como investigación Proyectiva. Este tipo de investigación intenta proponer soluciones a una situación determinada. Implica explorar, describir, explicar y proponer alternativa de cambio, mas no necesariamente ejecutar la propuesta. Está relacionado con anticipar, visualizar el futuro. (pág. 30) Tipo de Investigación El tipo de investigación para el proyecto es de factibilidad, debido a que se fundamenta en la investigación. La metodología para realizar un proyecto factible es la siguiente: 90 El diagnóstico. Planeamiento y fundamentación teórica. Procedimiento metodológico. Actividades y recursos necesarios para su ejecución. Análisis y conclusiones sobre la viabilidad y realización del proyecto. POBLACIÓN Y MUESTRA Población: El proyecto de tesis va a tener como población a los estudiantes de 5to a 8vo semestre de la Carrera de Ingeniería en Sistemas Computacionales de la Universidad de Guayaquil debido que será para el beneficio exclusivo de los estudiantes de la misma. CUADRO No. 7 ESTUDIANTES MATRICULADOS DE LA CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES EN EL AÑO 2014 CICLO II Población por Semestres Quinto Total Estudiantes N % 199 29.05 % Sexto 173 25.26 % Séptimo 159 23.21 % Octavo 154 22.48 % TOTAL 685 100.00 % Fuente: Secretaría de las Carreras de Ingeniería de Sistemas Elaboración: Carlos Olale Ronquillo 91 Muestra: La selección de los estudiantes encuestados que fueron parte de la muestra se realizó de forma estratificada y aleatoria de acuerdo al siguiente cuadro: CUADRO No. 8 ESTUDIANTES ENCUESTADOS DE LA CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES EN EL AÑO 2014 CICLO II Población por Semestres Quinto Sexto Séptimo Octavo TOTAL Total Estudiantes N Total Encuestados n 199 173 159 154 685 58 50 46 45 198 Fuente: Secretaría de las Carreras de Ingeniería de Sistemas Elaboración: Carlos Olale Ronquillo EL TAMAÑO DE LA MUESTRA Para determinar el tamaño de la muestra se aplicó la siguiente fórmula: m: Tamaño de la población = 685 e: error de estimación = 6% n = Tamaño de la muestra = 198 Cálculo de la fracción muestral: f n 198 0.2890 N 685 92 OPERACIONALIZACIÓN DE VARIABLES De acuerdo a nuestras variables dependiente e independiente encontradas durante el estudio, se ha procedido a realizar la siguiente matriz detallada a continuación: CUADRO No. 9 MATRIZ DE OPERACIONALIZACIÓN DE VARIABLES Variables Dimensiones Indicadores Tecnológicos Administración de recursos Financieros Humanos Técnicas y/o Instrumentos Referencias Bibliográficas Encuesta Minería de datos. Investigación Niveles de especialización Referencias Bibliográficas Encuesta Investigación Algoritmos de árboles de inducción Niveles de especialización Referencias Bibliográficas Encuesta Tecnológicos Administración de recursos Financieros Humanos Referencias Bibliográficas Encuesta Fuente: Resultados del estudio de la Investigación. Elaboración: Carlos Olale Ronquillo 93 Instrumentos de Recolección de Datos Encuesta.- Para la recopilación de datos, se encuestarán a los estudiantes de 5to a 8vo semestre de la Carrera de Ingeniería en Sistemas Computacionales de la Universidad de Guayaquil, con el propósito de obtener información concerniente al conocimiento que tienen los usuarios sobre la minería de datos y algoritmos de inducción. Según (Garza, 2007) nos señala que: “La encuesta se caracteriza por la recopilación de testimonios, orales o escritos, provocados y dirigidos con el propósito de averiguar hechos, opiniones o actitudes” (pág. 183). CUADRO No. 10 TÉCNICA E INSTRUMENTO PARA LA RECOLECCIÓN DE DATOS TÉCNICA INSTRUMENTO Encuesta Cuestionario Fuente: Datos de la Investigación Elaborado por: Carlos Olale Ronquillo INSTRUMENTOS DE LA INVESTIGACIÓN. Para la recolección de datos se usaron los famosos instrumentos de medición que para HERNÁNDEZ (2006) “son recursos que utiliza el investigador para registrar información o datos sobre las variables que tiene en mente” (página 276). La técnica seleccionada fue la encuesta y el instrumento fue el cuestionario. 94 La encuesta la implementó mediante la aplicación de un conjunto de preguntas normalizadas, “cuestionario”, dirigidas a la muestra calculada con el fin de obtener información de las características de las variables de la investigación. Procedimientos de la Investigación Las tareas que se realizaran para el desarrollo son las siguientes: El Problema: Ubicación del problema Definición de la situación conflictos y nudos críticos. Identificación y causas y consecuencias del problema Delimitación del problema Formulación del problema Evaluación del problema Planteamiento del problema Especificación de los objetivos generales y específicos Objetivos de la investigación Justificación en importancia de la investigación Marco Teórico: Identificación de los antecedentes del estudio Fundamentación teórica Fundamentación Legal 95 Preguntas a contestarse Definición de las variables de la investigación Metodología: Diseño de la investigación Modalidad de la investigación Tipo de investigación Población y muestra Instrumentos de recolección de datos Operacionalización de variables, dimensiones e indicadores Procedimientos de la investigación Recolección de la Información Se ha utilizado la técnica de la encuesta, con el fin de adquirir información necesaria para la investigación del proyecto. Para la obtención de los datos se coordinó una visita a las aulas de la Carrera de Ingeniería en Sistemas Computacionales, con la finalidad de realizar la encuesta dirigida a los estudiantes de 5to a 8vo semneuroestre, para obtener información en el tema propuesto. 96 PROCESAMIENTO Y ANÁLISIS En la actualidad existen gran variedad de herramientas que nos permitirían realizar el procesamiento de los datos como Excel, SAS, MATLAB, Statistica, pero debido a su versatilidad y con motivo de asegurar, agilizar y facilitar el procesamiento de los datos la herramienta que se empleo fue “Excel”. Excel como herramienta estadística ofrece las facilidades para realizar: modelos de reducción de datos, modelos de clasificación, modelos de pruebas paramétricas, tablas, tendencias, categorización, análisis de conjuntos, análisis de valores perdidos, validación de datos, cálculos de tamaño de muestra, entre muchas de sus funciones. Finalmente aplique las técnicas estadísticas como paso previo a la interpretación de los resultados obtenidos. El producto del análisis permitió elaborar las conclusiones y las recomendaciones finales. 97 CUADRO No. 11 COMPARACIÓN DE ALGORITMOS DE ÁRBOLES DE INDUCCIÓN Fuente: Datos de la Investigación Elaboración: Carlos Olale Ronquillo 98 ANÁLISIS COMPARATIVO DE LOS ALGORITMOS DE INDUCCIÓN La familia de algoritmos TDIDT abarca desde algoritmos ya clásicos de la Inteligencia Artificial como los de ID3, C4.5 hasta algoritmos optimizados como SLIQ o SPRINT. Los algoritmos TDIDT suelen presuponer que no existe ruido en los datos de entrada e intentan alcanzar una descripción perfecta de los mismos. Esto suele ser contraproducente en problemas reales, donde se necesitan métodos capaces de manejar información con ruido y mecanismos que eviten el sobre aprendizaje (overfitting). Podemos describir características propias que poseen cada uno de los siguientes algoritmos para lo cual detallaremos a continuación: Para el caso del algoritmo ID3 su forma de trabajo en cuanto al criterio de división se realiza por Ganancia de Información, utiliza como entrada de variables predictoras las variables de tipo discretas y funciona bajo el esquema del aprendizaje supervisado y actualmente su implementación es de tipo comercial. El algoritmo C4.5 trabajo en cuanto al criterio de división se realiza por Ganancia de Proporción, utiliza como entrada de variables predictoras las variables de tipo continuo y discreto y funciona bajo el esquema del aprendizaje supervisado y 99 actualmente su implementación puede ser de tipo libre o comercial, utiliza 2 técnicas de poca que son la Pre- poda y Post- poda, su aplicación o uso Otro algoritmo es el AQ15 trabajo en cuanto al criterio de división se realiza de forma incremental, utiliza como entrada de variables predictoras las variables de tipo continuo y discreto y funciona bajo el esquema del aprendizaje supervisado y actualmente su implementación puede es de tipo comercial y su aplicación o uso se basa en la determinación de dominios de casos de salud y medicina. El algoritmo RADIX/RX trabajo en cuanto al criterio de división se realiza de forma incremental, utiliza como entrada de variables predictoras las variables de tipo continuo y discreto y funciona bajo el esquema del aprendizaje supervisado y actualmente su implementación puede es de tipo comercial y su aplicación se basa para el estudio de casos relacionados en Electrónica y Electricidad. El algoritmo BACON trabajo en cuanto al criterio de división se realiza de forma incremental, utiliza como entrada de variables predictoras las variables de tipo continuo y discreto y funciona bajo el esquema del aprendizaje supervisado y actualmente su implementación puede es de tipo comercial y su aplicación se basa en descubrir relaciones matemáticas entre datos numéricos De esta forma se ha descrito el análisis comparativo de cada uno de los algoritmos de árboles de Inducción de acuerdo al realizado en este estudio. 100 ENCUESTAS Encuesta dirigida a estudiantes de 5to a 8vo semestre de la Carrera de Ingeniería en Sistemas de la Facultad de Ciencias Matemáticas y Físicas. 1.- ¿Considera usted que el estudio de los algoritmos de árboles de inducción es importante como un mecanismo que se puede aplicar a la minería de datos? CUADRO No. 12 IMPORTANCIA DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS RESPUESTA Si No TOTAL DE LA MUESTRA CANTIDAD 198 0 198 PORCENTAJE 100% 0% 100% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. GRÁFICO No. 16 IMPORTANCIA DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS ¿CONSIDERA USTED QUE EL ESTUDIO DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ES IMPORTANTE COMO UN MECANISMO QUE SE PUEDE APLICAR A LA MINERÍA DE DATOS? 0% Si No 100% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: El resultado corrobora que el 100% de las personas encuestadas están de acuerdo que es necesario realizar un estudio de los algoritmos de árboles de inducción como un mecanismo de mucha importancia que se podría aplicar a la minería de datos. 101 2.- ¿Considera usted que en la minería de datos se podrían aplicar los algoritmos de árboles de inducción? CUADRO No. 13 APLICACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS RESPUESTA CANTIDAD PORCENTAJE Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo TOTAL DE LA MUESTRA 139 47 12 0 198 70% 24% 6% 0% 100% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. GRÁFICO No. 17 APLICACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS ¿CONSIDERA USTED QUE EN LA MINERÍA DE DATOS SE PODRÍAN APLICAR LOS ÁRBOLES DE INDUCCIÓN? ALGORITMOS DE Totalmente de acuerdo De acuerdo 6% 0% 24% En desacuerdo 70% Totalmente en desacuerdo Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: En el grafico se puede apreciar, que las personas que están de acuerdo más las personas que están totalmente de acuerdo representan al 94 % de las personas encuestadas, considerando así que 9 de cada 10 personas determinan que en la minería de datos se pueden aplicar los algoritmos de árboles de inducción. 102 3.- Considera usted que en nuestro medio el uso de algoritmos de árboles de inducción debería aplicarse a la minería de datos. CUADRO No. 14 USO DE ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN NUESTRO MEDIO RESPUESTA CANTIDAD PORCENTAJE Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo TOTAL DE LA MUESTRA 135 47 16 0 198 68% 24% 8% 0% 100% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. GRÁFICO No. 18 USO DE ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN NUESTRO MEDIO 8% ¿CONSIDERA USTED QUE EN NUESTRO MEDIO EL USO DE ALGORITMOS DE ÁRBOLES DE INDUCCIÓN DEBERÍA APLICARSE A LA MINERÍA DE DATOS? 0% Totalmente de acuerdo 24% 68% De acuerdo En desacuerdo Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: En el grafico se puede apreciar, que las personas que están de acuerdo más las personas que están totalmente de acuerdo representan al 92 % de las personas encuestadas, y 9 de cada 10 personas determinan que en nuestro medio el uso de los algoritmos de árboles de inducción debería aplicarse a la minería de datos. 103 4.- Considera necesario contar con un estudio de los algoritmos de árboles de inducción, para poder determinar si son aplicables a la minería de datos. CUADRO No. 15 NECESIDAD DE ESTUDIAR LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN RESPUESTA CANTIDAD PORCENTAJE Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo TOTAL DE LA MUESTRA 150 40 8 0 198 76% 20% 4% 0% 100% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. GRÁFICO No. 19 NECESIDAD DE ESTUDIAR LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN CONSIDERA NECESARIO CONTAR CON UN ESTUDIO DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN, PARA PODER DETERMINAR SI SON APLICABLES A LA MINERÍA DE DATOS. 4% 0% 20% Totalmente de acuerdo 76% De acuerdo Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: En el grafico se puede apreciar, que las personas que están de acuerdo más las personas que están totalmente de acuerdo representan al 96 % de las personas encuestadas, considerando así que 9 de cada 10 personas determinan que es necesario contar con un estudio de los algoritmos de árboles de inducción para poder determinar si son aplicables a la minería de datos. 104 5.- ¿Cree usted que al aplicar algoritmos de árboles de inducción a la minería de datos se pueda tener información confiable en el menor tiempo posible que en la actualidad? CUADRO No. 16 CONFIABILIDAD DE LA INFORMACIÓN EN LA APLICACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN RESPUESTA CANTIDAD PORCENTAJE Si No TOTAL DE LA MUESTRA 174 24 198 88% 12% 100% Fuente: Encuesta realizadas a los estudiantes Elaboración: Carlos Olale Ronquillo GRÁFICO No. 20 CONFIABILIDAD DE LA INFORMACIÓN EN LA APLICACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ¿CREE USTED QUE AL APLICAR ALGORITMOS DE ÁRBOLES DE INDUCCIÓN A LA MINERÍA DE DATOS SE PUEDA TENER INFORMACIÓN CONFIABLE EN EL MENOR TIEMPO POSIBLE QUE EN LA ACTUALIDAD? 12% 88% Si No Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: En el grafico se puede apreciar, que las personas que están de acuerdo representan el 88 % de las personas encuestadas de donde 8 de cada 10 personas determinan que si es necesario aplicar algoritmos de árboles de inducción a la minería de datos para poder tener información confiable en el menor tiempo posible que en la actualidad. 105 6.- ¿Cree usted que se pueda realizar mejores tomas de decisiones teniendo resultados obtenidos de la implementación de los algoritmos de árboles de inducción en la minería de datos? CUADRO No. 17 TOMA DE DECISIONES EN LA IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN RESPUESTA Si No TOTAL DE LA MUESTRA CANTIDAD PORCENTAJE 174 24 198 88% 12% 100% Fuente: Encuesta realizadas a los estudiantes Elaboración: Carlos Olale Ronquillo GRÁFICO No. 21 TOMA DE DECISIONES EN LA IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ¿CREE USTED QUE SE PUEDA REALIZAR MEJORES TOMAS DE DECISIONES TENIENDO RESULTADOS OBTENIDOS DE LA IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS? 12% Si 88% No Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: En el grafico se puede apreciar, que las personas que están de acuerdo más las personas que están totalmente de acuerdo representan al 88 % de las personas encuestadas, considerando así que 8 de cada 10 personas determinan que se pueda realizar mejores tomas de decisiones teniendo resultados obtenidos de la implementación de los algoritmos de árboles de inducción en la minería de datos. 106 7.- ¿Considera usted que la interpretación de los datos no serán de igual manera que la actual? CUADRO No. 18 INTERPRETACIÓN DE LOS DATOS RESPUESTA CANTIDAD PORCENTAJE Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo TOTAL DE LA MUESTRA 170 8 12 8 198 86% 4% 6% 4% 100% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. GRÁFICO No. 22 INTERPRETACIÓN DE LOS DATOS ¿CONSIDERA USTED QUE LA INTERPRETACIÓN DE LOS DATOS NO SERÁN DE IGUAL MANERA QUE LA ACTUAL? 6% 4% 4% Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo 86% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: En el grafico se puede apreciar, que las personas que están de acuerdo más las personas que están totalmente de acuerdo representan al 90 % de las personas encuestadas, considerando así que 9 de cada 10 personas determinan que la interpretación de los datos no serán de igual manera que la actual. 107 8.- ¿Usted cree que se tendrían resultados más óptimos si se implementaran los algoritmos de árboles de inducción en la minería de datos? CUADRO No. 19 OPTIMIZACIÓN LUEGO DE IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN RESPUESTA CANTIDAD PORCENTAJE Si No TOTAL DE LA MUESTRA 198 0 198 100% 0% 100% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. GRÁFICO No. 23 OPTIMIZACIÓN LUEGO DE IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ¿USTED CREE QUE SE TENDRÍAN RESULTADOS MÁS ÓPTIMOS SI SE IMPLEMENTARAN LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS? 0% Si No 100% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: El resultado corrobora que el 100% de las personas encuestadas están de acuerdo con que se tendrían resultados más óptimos si se implementaran los algoritmos de árboles de inducción en la minería de datos. 108 9.- ¿Cree usted necesario que los algoritmos de árboles de inducción que existen se encuentren documentados para poderlos aplicar a la minería de datos de forma adecuada? CUADRO No. 20 DOCUMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN RESPUESTA CANTIDAD PORCENTAJE Totalmente de acuerdo 182 92% De acuerdo 12 6% En desacuerdo 4 2% Totalmente en desacuerdo 0 0% 198 100% TOTAL DE LA MUESTRA Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. GRÁFICO No. 24 DOCUMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN ¿CREE USTED NECESARIO QUE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN QUE EXISTEN SE ENCUENTREN DOCUMENTADOS PARA PODERLOS APLICAR A LA MINERÍA DE DATOS DE FORMA ADECUADA? 6% 2% 0% Totalmente de acuerdo De acuerdo En desacuerdo 92% Totalmente en desacuerdo Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: En el grafico se puede apreciar, que las personas que están de acuerdo más las personas que están totalmente de acuerdo representan al 98 % de las personas encuestadas, considerando así que 9 de cada 10 personas determinan que es necesario que los algoritmos de árboles de inducción que existen se encuentren documentados para poderlos aplicar a la minería de datos de forma adecuada. 109 10.- ¿Considera usted que deberían implementarse los algoritmos de árboles de inducción en la minería de datos con una aplicación a desarrollarse en base a requerimientos o con una herramienta diseñada para este tipo de trabajo? CUADRO No. 21 IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN CON APLICACIONES RESPUESTA CANTIDAD PORCENTAJE Herramienta diseñada para minería de datos. 119 60% Aplicación en base a requerimientos. 79 40% 198 100% TOTAL DE LA MUESTRA Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. GRÁFICO No. 25 IMPLEMENTACIÓN DE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN CON APLICACIONES ¿CONSIDERA USTED QUE DEBERÍAN IMPLEMENTARSE LOS ALGORITMOS DE ÁRBOLES DE INDUCCIÓN EN LA MINERÍA DE DATOS CON UNA APLICACIÓN A DESARROLLARSE EN BASE A REQUERIMIENTOS O CON UNA HERRAMIENTA DISEÑADA PARA ESTE TIPO DE TRABAJO? Herramienta diseñada para minería de datos 40% 60% Fuente: Encuesta realizadas a los estudiantes. Elaboración: Carlos Olale Ronquillo. Análisis: En el grafico se puede determinar que las personas mayormente prefieren que la implementación de los algoritmos de árboles de inducción se la realice con una herramienta diseñada para este tipo de trabajo, es decir un 60% o 6 de cada 10 personas, sin embargo un 40% prefieren que se implemente con una aplicación diseñada en base de requerimientos. 110 CAPÍTULO IV MARCO ADMINISTRATIVO GRÁFICO No. 26 CRONOGRAMA Fuente: Carlos Olale Ronquillo. Elaboración: Carlos Olale Ronquillo. 111 PRESUPUESTO Valores aproximados para el desarrollo del proyecto de tesis. CUADRO No. 22 DETALLE DE INGRESOS DEL PROYECTO DETALLE INGRESOS EN DÓLARES Los recursos empleados en el desarrollo $ 1000.00 de este tema serán por financiamiento propio. TOTAL $ 1,000.00 Fuente: Carlos Olale Ronquillo. Elaboración: Carlos Olale Ronquillo CUADRO No. 23 DETALLE DE EGRESOS DEL PROYECTO DETALLE Servicios de internet ($ 20.00 x 12 meses) Fotocopias de las encuestas y varios Impresión y anillado de la tesis en las revisiones (3 anillados x 2 tutores revisores) Empastado e Impresión de la tesis de grado (2) Gastos en Transportación (gasolina) Refrigerios Materiales de Oficina (CD,boligrafos,hojas,etc) PC para desarrollar proyecto TOTAL EGRESOS EN DÓLARES $240.00 $10.00 $50.00 $50.00 $30.00 $10.00 $10.00 $600.00 $ 1,000.00 Fuente: Carlos Olale Ronquillo. Elaboración: Carlos Olale Ronquillo 112 CAPÍTULO V CONCLUSIONES Y RECOMENDACIONES CONCLUSIONES Conclusiones en cuanto al estudio Este estudio proporcionó las siguientes evidencias: Cuando se crea un árbol de decisión, a su vez se genera un modelo de predicción que es utilizado en el ámbito de la inteligencia artificial, dada una base de datos se construyen diagramas de construcciones lógicas, muy similares a los sistemas de predicción basados en reglas, que sirven para representar y categorizar una serie de condiciones que ocurren de forma sucesiva, para la resolución de un problema. La técnica de los Árboles de Decisiones puede ser aplicada en cualquier problema de toma de decisiones y es una magnifica herramienta para el control de la gestión empresarial. Los árboles de decisión son una técnica de recuperación y organización de la información que permite, a partir de una serie de ejemplos, clasificarlos de acuerdo a los valores de sus atributos, para determinar el valor de otro de sus atributos. 113 Un árbol de decisión lleva a cabo un test a medida que este se recorre hacia las hojas para alcanzar así una decisión. En cuanto a las reglas de decisión, los árboles demasiado grandes son difíciles de entender porque cada nodo debe ser interpretado dentro del contexto fijado por las ramas anteriores. Cada prueba en el árbol tiene un contexto único que es crucial a la hora de entenderla y puede ser muy difícil comprender un árbol en el cual el contexto cambia demasiado seguido al recorrerlo. En cualquier árbol de decisión, las condiciones que deben satisfacerse cuando un caso se clasifica por una hoja pueden encontrarse analizando los resultados de las pruebas en el camino recorrido desde la raíz. Es más, si el camino fuese transformado directamente en una regla de producción, dicha regla podría ser expresada como una conjunción de todas las condiciones que deben ser satisfechas para llegar a la hoja. Finalmente, cabe destacar que el ID3 y el C4.5 utilizan todos los datos de entrenamiento en cada paso para elegir el "mejor" atributo; esta elección se realiza estadísticamente. Esto es favorable frente a otros métodos de aprendizaje automático que analizan los datos de entrada en forma incremental. 114 Conclusiones en cuanto a las encuestas Una vez realizado el análisis de cada una de las respuestas de la encuesta aplicada a los estudiantes de CISC se determina que: El manejo de los algoritmos de árboles de inducción son los más apropiados para el manejo de grandes volúmenes de datos dentro de una base de datos. La minería de datos aplicada a una base de datos con un gran volumen de información requiere que se utilicen los algoritmos de árboles de inducción de acuerdo a la cantidad de datos. Se determinó que la mayoría de los encuestados están totalmente de acuerdo en el manejo de algoritmos de árboles de inducción dentro de la minería de datos. Así mismo la mayoría de los encuestados, está de acuerdo que la minería de datos es una de las técnicas que brinda mayor flexibilidad al momento de realizar un análisis exhaustivo dentro de una base de datos con gran volumen de información. 115 RECOMENDACIONES La mejor manera de sacarle provecho a la minería de datos es utilizándola en conjunto con un data warehouse, obteniendo ventajas de las técnicas de depuración de datos del data warehouse. Se recomienda que las técnicas de minería de datos, este completamente vinculada con los algoritmos de árboles de inducción. Que esta técnica para el análisis de datos, no sea aplicada a bases de datos con un pequeño volumen de información. Que la información sea almacenada en una base de datos con características técnicas que viabilicen el análisis de minería de datos. Promover el conocimiento de la minería de datos, ya que puede ser utilizada para minimizar costos o para incrementar las ganancias de un negocio. Para obtener un mejor resultado en la minería de datos conviene hacer una correcta selección del algoritmo de inducción a utilizar de acuerdo al caso de estudio. Que antes de realizar el análisis respectivo, la data esté completamente depurada. 116 BIBLIOGRAFÍA Bautista. (2004). Aprendizaje de Conceptos para Sistemas Inteligentes. En Bautista, Aprendizaje de Conceptos para Sistemas Inteligentes. Mexico. Breiman y otros. (1984). Classification and Regression Trees 1st (first) Edition. Alemania: Chapman and Hall/CRC. Cameron-Jones, & Quilan. (1995). Oversearching and Layered Search in Empirical Learning. Australia. Espasa-Calpe. (1974). Diccionario Enciclopédico Abreviado. Madrid. Esquema general de un sistema de Aprendizaje Automático . (s.f.). Recuperado el 2015, de https://yoshibauco.wordpress.com/2011/04/02/esquema-generalde-un-sistema-de-aprendizaje-automatico/ Fayad. (1996). Advances in Knowledge Discovery and Data Mining. San Mateo, EE.UU. García Martínez. (1987). Un algoritmo de aprendizaje de conceptos para sistemas inteligentes. Buenos Aires, Argentina. García Martínez, R. (1997). En G. M. R., Sistemas Autónomos. Aprendizaje Automático. Mexico: Nueva Libreria. Garza. (2007). En A. A. Garza, Un panorama general de los principales avances en la interseccion. Mexico: Komputer Sapiens. Grossman. (1999). Data Mining Research: Opportunities and Challenges, A Report of three NSF Workshops on Mining Large, Massive, and Distributed Data. Chicago, EE.UU. Holsheimer, & Siebes. (1994). search for knowledge in databases. Hoalnda. Joshi. (1997). Analysis of Data Mining Algorithms. Michalski. (1982). A Logic-Based Approach to Conceptual Database Analysis, Sixth Annual Symposium on Computer Applications on Medical Care. Washington, DC, EE.UU. Michalski. (1983). Theory and Methodology of Inductive Learning. MorganKauffman, EE.UU.: Vol. I. Michalski. (1998). Modelos Lógicos. Michie. (1988). Machine Learning in the next five years. Reino Unido, Londres. Mitchell. (2000). www.cs.cornell.edu/courses/c5478/2000SP,. Obtenido de www.cs.cornell.edu/courses/c5478/2000SP, Mitchell. (2006). En Fayyad, Trabajo de adscripción minería de datos. Argentina: Corrientes. Mitchell, & Quinlan. (1997, 1986-1993). Árboles de Inducción. Monter. (2001). Equiparación de Marcos. Buenos Aires. Poole. (1998). Computational Intelligence A Logical Approach. En Poole, Computational Intelligence A Logical Approach. Mexico: Oxford University Press. Quinlan. (1993). Induction of Decision Trees. En Induction of Decision Trees. Sydney: Centre for Advanced Computing Sciences, New South Wales Institute of Technology. 117 Tecuci. (1994). En Tecuci. Belgica. Thrun. (1998). Automated Learning and Discovery. Witten, & Frank. (2000). Practical Machine Learning Tools and Techniques with Java Implementations. San Diego, EE.UU. 118 ANEXOS 119 ANEXO No. 1 MODELO DE ENCUESTA UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES ENCUESTA DIRIGIDA A ESTUDIANTES DE 5to A 8vo SEMESTRE DE LA CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES DE LA UNIVERSIDAD DE GUAYAQUIL Objetivo: Realizar la encuesta a los estudiantes de 5to a 8vo semestre de la CISC con el fin de obtener información concerniente al conocimiento que tienen sobre la minería de datos y los algoritmos de árboles de inducción, para permitirme hacer un estudio acerca de los algoritmos de árboles de inducción aplicados a la minería de datos y que los estudiantes lo puedan poner en práctica en el desarrollo de sus aplicaciones y poner en práctica en su vida profesional. 1.¿Considera usted que el estudio de los algoritmos de árboles de inducción es importante como un mecanismo que se puede aplicar a la minería de datos? Si 2.- No ¿Considera usted que en la minería de datos se podrían aplicar los algoritmos de árboles de inducción? Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo 3.¿Considera usted que en nuestro medio el uso de algoritmos de árboles de inducción debería aplicarse a la minería de datos? Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo 4.¿Considera necesario contar con un estudio de los algoritmos de árboles de inducción, para poder determinar si son aplicables a la minería de datos? Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo 5.¿Cree usted que al aplicar algoritmos de árboles de inducción a la minería de datos se pueda tener información confiable en el menor tiempo posible que en la actualidad? Si No 6.¿Cree usted que se pueda realizar mejores tomas de decisiones teniendo resultados obtenidos de la implementación de los algoritmos de árboles de inducción en la minería de datos? Si 7.- No ¿Considera usted que la interpretación de los datos no serán de igual manera que la actual? Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo 8.¿Usted cree que se tendrían resultados más óptimos si se implementaran los algoritmos de árboles de inducción en la minería de datos? Si No 9.¿Cree usted necesario que los algoritmos de árboles de inducción que existen se encuentren documentados para poderlos aplicar a la minería de datos de forma adecuada? Totalmente de acuerdo De acuerdo En desacuerdo Totalmente en desacuerdo 10.¿Considera usted que deberían implementarse los algoritmos de árboles de inducción en la minería de datos con una aplicación a desarrollarse en base a requerimientos o con una herramienta diseñada para este tipo de trabajo? Aplicación en base a requerimientos Herramienta diseñada para minería de datos 120 ANEXO No. 2 PRESENTACIÓN DE LOS RESULTADOS DE UN ÁRBOL DE DECISIÓN CON LA APLICACIÓN RAPIDMINER STUDIO RapidMiner Studio es un programa informático para el análisis y minería datos. Permite el desarrollo de procesos de análisis de datos mediante encadenamiento de operadores a través de un entorno gráfico. Se usa investigación educación, capacitación, creación rápida de prototipos y aplicaciones empresariales. de el en en La versión inicial fue desarrollada por el departamento de inteligencia artificial de la Universidad de Dortmund en 2001. RapidMiner Studio proporciona más de 500 operadores orientados al análisis de datos, incluyendo los necesarios para realizar operaciones de entrada y salida, preprocesamiento de datos y visualización. También permite utilizar los algoritmos incluidos en Weka. Características de RapidMiner Studio Multiplataforma. Desarrollado en Java. Representación interna de los procesos de análisis de datos en ficheros XML. Permite el desarrollo de programas a través de un lenguaje de script. Puede usarse de diversas maneras: A través de un GUI. En línea de comandos. En batch (lotes). Desde otros programas a través de llamadas a sus bibliotecas. Extensible. Incluye gráficos y herramientas de visualización de datos. Dispone de un módulo de integración con R. 121 GENERANDO UN ÁRBOL DE DECISION USANDO EL ALGORITMO C4.5 EN LA APLICACIÓN DATAMINER STUDIO 1.- Descargamos la aplicación RapidMiner Studio versión 6.4 trial y procedemos a la instalación de la misma y procedemos a ejecutarla. 2.- Una vez que se haya iniciado la aplicación, nos dará la bienvenida y elegimos la opción New Process. 122 3.- En esta pantalla vamos aproceder a ver los operadores, los repositorios de informacion, el diseño del modelado del respitorio de la informacion y lo resultados obtenidos del diseño. 4.- Podemos importar los datos desde diferentes tipos de archivos como por ejemplo en formato CSV, Excel, Xml, Acess o directamente una tabla de una Base de Datos convencional. En este caso importaremos los datos desde un archivo en formato CSV. 123 5.- Buscamos en el directorio raiz, la ubicación del archivo o desde el lugar que se encuentre almacenado el archivo y procedemos a dar siguiente. 6.- Una vez abierto el archivo, procedemos a elegir la separacion de columnas con la opcion Comma y procedemos a dar siguiente. Notese que los parametros dependeran del formato de archivo a importar. 124 7.- Procedemos a colocar los nombre a las columnas o renombrarlas si se desea y procedemos a dar siguiente. 8.- Elegimos el tipo de variable dependiente para la clasificación de la información y generación del árbol de decision, con su respectivo tipo de datos a cada columna. 125 9.- Elegimos el lugar de destino donde estará almacenada nuestra base de datos, le colocamos un nombre en este caso se llama metododepago y damos click en finalizar. 10.- Vemos que nuestra base de datos ha sido importada correctamente y que se encuentra ubicada en la sección de Repositorios ubicada en el lado inferior izquierdo 126 11.- Para comenzar con la generación del árbol de decisión C4.5 procedemos a seleccionar nuestra base de datos metododepago, arrastrándola sin soltar hacia el panel Main Process ubicada en la pestaña de Diseño. 12.- Vemos que automáticamente la base de datos fue subida al panel de diseño y este genera un enlace como salida de resultado 127 13.- Ahora para completar el proceso agregaremos también al panel de diseño un operador denominado Decision Tree. 14.- De la misma forma que la anterior, procedemos a arrastrar sin soltar hasta el panel de diseño y lo colocamos estableciendo una conexión con la base de datos. 128 15.- Procedemos a ejecutar o correr la aplicación dando click en el botón 16.- En la pestaña de Resultados podemos apreciar que se ha generado exitosamente el árbol de decision C4.5 de la base de dato que proporcionamos. 129 17.- El siguiente árbol de decision C4.5 demuestra los métodos de pagos en compras que utilizan hombres y mujeres dependiendo del rango de edad. 18.- Aquí también podemos observar otro tipo de vista de árbol de decision C4.5 que es de forma descriptiva. 130 Anexo No. 3 GENERANDO UN ÁRBOL DE DECISION USANDO EL ALGORITMO ID3 EN LA APLICACIÓN DATAMINER STUDIO 1.- Abrimos RapidMiner Studio y procedemos a crear un New Process 2.- Procedemos a arrastrar sin soltar la base de datos estadocivil hacia el panel de diseño 131 3.- Procedemos a arrastras sin soltar el operador ID3 hacia el panel de diseño conectándolo junto a la base de datos. 4.- Procedemos a ejecutar o correr la aplicación dando click en el botón 132 5.- El siguiente árbol de decision ID3 demuestra los métodos de pagos en compras que utilizan hombres y mujeres dependiendo del rango de edad. 6.- Aquí también podemos observar otro tipo de vista de árbol de decision ID3 que es de forma descriptiva. 133