lunes, 19 de octubre de 2015

Evolución de herramientas de minería de datos

El investigador Jasso, en la tesis de maestría en ciencias de la computación escrita el año 2008 con el título “Sistema para explotar servicios de minería de datos a través de la Web”, menciona que algunas de las herramientas de segunda generación son: IlliMine, Rattle, Rapid Miner y Knime. El grupo de investigación en minería de datos de la Universidad de Illinois, el año 2006 libera la versión 1.1.0 de IlliMine, la cual constituye otra herramienta de minería de datos de segunda generación, IlliMine es un paquete libre, implementado en el lenguaje de alto nivel C++ y desarrollada por el Departamento de Ciencias Computacionales de la Universidad de Illinois en conjunto con el Laboratorio de Investigación de Datos y Sistemas de Información de la universidad citada. IlliMine incluye: (1) Algoritmos de cubos de datos, que constituyen una técnica de manipulación de datos utilizando estructuras de matrices multidimensionales, (2) asociación, (3) minería de patrones secuenciales, la cual es una técnica de extracción de patrones en eventos o sucesos secuenciales donde el factor tiempo juega un papel principal, (4) minería de patrones gráficos, la que constituye una técnica de extracción de patrones de datos representados a través de grafos, y (5) clasificación.

La herramienta analítica para el aprendizaje fácil “Rattle”, fue liberada por Williams en su versión 2.2.74 el año 2007, Rattle es una herramienta libre de minería de datos usada para analizar colecciones de datos muy grandes. Rattle presenta resúmenes estadísticos y visuales de datos, transforma los datos en formas que pueden ser fácilmente modeladas, construye modelos supervisados y no supervisados a partir de los datos, presenta el rendimiento de los modelos gráficamente y da una puntuación a los conjuntos de datos nuevos. A través de una interfaz de usuario simple y lógica basada en Gnome puede ser usado para realizar proyectos de minería de datos. Es posible también realizar proyectos de minería de datos más sofisticados haciendo uso del lenguaje estadístico de licencia libre “R”.

Mierswa y sus colegas, en el artículo publicado el año 2006 con el título “Yale: Prototipado rápido para tareas complejas de minería de datos”, mencionan que Rapid Miner, más formalmente conocido como Yale, es una de las principales herramientas para prototipado y minería de datos de licencia pública a nivel mundial. Desarrollado puramente en Java, contiene una extensión para su fácil uso desde programas de terceros. Ofrece una amplia variedad de diferentes algoritmos y métodos los cuales pueden ser combinados de manera flexible y anidada arbitrariamente. Yale abstrae sus métodos bajo el concepto de operadores contando con más de cuatrocientos y ofreciendo un enfoque de combinación de operadores como un grafo dirigido para representar el proceso de descubrimiento del conocimiento. En este enfoque cada vértice del árbol corresponde a un operador sencillo, permitiendo a los usuarios la fácil incorporación de ciclos dentro de sus experimentos. Los ciclos son esenciales para muchas tareas como optimización de parámetros, selección de características o la aplicación de métodos de aprendizaje iterativos. Knime, en su versión 1.3.1, liberado por la universidad alemana de Konstanz el año 2007, es una plataforma modular de datos que permite al usuario crear visualmente flujos de datos. Permite ejecutar selectivamente algunas o todas los pasos del análisis para posteriormente consultar los resultados a través de vistas interactivas sobre datos y modelos. La versión base de Knime incorpora más de cien nodos de procesamiento para entrada y salida de datos, preprocesamiento y limpieza, modelado, análisis y minería de datos entre otras cosas. Incluye todos los módulos de análisis de Weka y plugins adicionales que permiten que scripts en el lenguaje R sean ejecutados, ofreciendo vasto acceso a bibliotecas de rutinas estadísticas.

De manera subsecuente, aparecieron las herramientas de tercera generación, que se enfocan en resolver las limitantes de trabajar sobre un modelo cerrado, esto es localmente, como lo hacen las herramientas de la segunda generación. Algunos ejemplos de herramientas de la tercera generación son los siguientes: (1) Grid Weka, reportado por Khoussainov y sus colegas, en el artículo publicado el año 2004 titulado “Weka de rejilla habilitada: Un juego de herramientas para el aprendizaje automático en la rejilla”, es una herramienta desarrollada en la Universidad de Dublín que modifica Weka para permitir el uso de múltiples recursos computacionales mientras se ejecuta el análisis de datos. En este sistema, un conjunto de tareas de minería de datos pueden ser distribuidas a través de muchas computadoras en un ambiente ad-hoc o cerrado. (2) Guo y sus colegas, en el artículo publicado el año 2002 con el título “Red de descubrimiento: Hacia una rejilla para el descubrimiento de conocimiento”, proponen una arquitectura, denominada “Red de descubrimiento”, para construir un sistema colaborativo y distribuido de descubrimiento de conocimiento dentro de un ambiente de cómputo en rejilla. Este es un enfoque genérico originado de la necesidad de procesos de descubrimiento de conocimiento en la industria bioinformática, donde procesos complicados de análisis de datos son construidos usando un enfoque basado en tuberías. (3) En el artículo publicado el año 2003 con el título “Hacia una arquitectura de servicio abierto para minería de datos en la rejilla”, Tjoa y sus colegas presentan una arquitectura de software basada en servicio para minería de datos distribuida y de alto rendimiento en ambientes de rejilla y su implementación llamada GridMiner. En este trabajo presentan dos modelos de ejecución para el servicio de minería de datos. El primero es una adaptación a la rejilla de la herramienta Weka a la que llamaron minería de datos centralizada y el segundo es una versión distribuida del mismo que hace uso de los recursos de hardware y software distribuidos unificados dentro de la rejilla.

martes, 13 de octubre de 2015

Evolución de herramientas de minería de datos

En la tesis de grado titulada “Minería de datos aplicada al análisis de la deserción en la Carrera de Analista en Sistemas de Computación”, escrita por el investigador Pautsch en el año 2009, se menciona que el concepto de minería de datos no es nuevo, desde los años 1960, los estadísticos, manejaban términos como “pesca de datos” o “arqueología de datos”. La idea principal era encontrar correlaciones sin una hipótesis previa en base de datos con ruido. Tampoco ninguno de los modelos estadísticos presentes en la minería de datos es nuevo. Los árboles de decisión y de regresión son utilizados desde los señalados años 1960. Las bases de reglas fueron popularizadas durante el auge de los sistemas expertos en los años1980 y las redes neuronales se conocen desde los años 1940, pero han sido necesarios varios años de desarrollo para que fueran utilizables de manera sencilla. Fue a principios de la década de los años 1980 que Rakesh Agrawal, Gio Wiederhold, Robert Blum y Gregory Piatetsky-Shapiro, entre otros, empezaron a consolidar los términos de minería de datos y descubrimiento del conocimiento en bases de datos. Precisamente Piatetsky-Shapiro, en el libro publicado el año 1991 con el título “Descubrimiento de conocimiento en bases de datos”, especifica que la minería de datos se define formalmente como “un conjunto de técnicas y herramientas aplicadas al proceso no trivial de extraer y presentar conocimiento implícito, previamente desconocido, potencialmente útil y humanamente comprensible, a partir de grandes conjuntos de datos, con objeto de predecir, de forma automatizada, tendencias o comportamientos y descubrir modelos previamente desconocidos”. Molina, en el artículo publicado el año 2001 con el título “Torturando a los datos hasta que confiesen”, menciona que, desde el punto de vista empresarial los términos minería de datos y extracción del conocimiento, son tratados como sinónimos, y se los define como: “La integración de un conjunto de áreas que tienen como propósito la identificación de conocimiento obtenido a partir de las bases de datos que aporten un sesgo hacia la toma de decisión”.

El investigador Jasso, en la tesis de maestría en ciencias de la computación escrita el año 2008 con el titulo “Sistema para explotar servicios de minería de datos a través de la Web”, menciona que la minería de datos puede ser vista como una infraestructura que utiliza una selección de diferentes algoritmos y métodos estadísticos para encontrar patrones y tendencias interesantes y novedosas en grandes bases de datos. Entrando en el contexto del artículo propuesto, Shaikh Ali, en el artículo publicado el año 2005 con el título “Composición de servicios Web para minería de datos distribuida”, menciona que a lo largo de la historia de las herramientas de minería de datos, podrían apreciarse tres fases o etapas de su evolución, a estas etapas se las denomina también generaciones para cruzarlas con el concepto mismo de evolución de las herramientas de la minería de datos.

Las herramientas de la primera generación ofrecen típicamente a los usuarios un algoritmo simple de minería de datos que opera sobre un conjunto de datos almacenados de manera local. Algunos ejemplos incluyen el uso de algoritmos de clasificación como el C4.5, planteado por Ross Quinlan en el libro publicado en año 1993 con el título “C4.5: Programas para minería de datos”; algoritmos de agrupamiento como el K-means, descrito por McQueen en el artículo publicado el año 1967 con el título “Algunos métodos para la clasificación y el análisis de multivariaciones”, y otros algoritmos basados en reglas de asociación. Tales herramientas fueron presentadas como programas independientes, obteniendo sus datos de entrada desde la línea de comandos o vía un archivo de configuración.

Las herramientas de la segunda generación combinan una colección de diferentes algoritmos de minería de datos sobre un marco de trabajo común, y permiten a los usuarios proveer datos de entrada de varias fuentes de datos. Algunas de estas herramientas son: Weka, IlliMine, Rattle, Rapid Miner y Knime. Según Witten y Frank, en el libro publicado el año 2000 con el título “Minería de datos: Herramientas practicas de aprendizaje automático con implementaciones Java”, Weka, desarrollado por la Universidad de Waikato en Nueva Zelanda, es un sistema escrito en Java y distribuido bajo los términos de la licencia pública GNU. Contiene una colección del estado del arte de los algoritmos de aprendizaje automático y herramientas de pre-procesamiento de datos escritos en Java. Proporciona un soporte extenso para el proceso completo de minería de datos, incluyendo la preparación de los datos de entrada, la evaluación de los esquemas de aprendizaje, la visualización de los datos de entrada y de los resultados del aprendizaje. Esta herramienta es accedida comúnmente a través de una interfaz común para que sus usuarios puedan comparar diferentes métodos e identificar esos que sean más apropiados para el problema a tratar. Puede ser ejecutado desde casi cualquier plataforma y ha sido probado sobre los sistemas operativos Windows, Linux y Macintosh. En Weka, todo el proceso de minería de datos se realiza en una sola computadora, dado que los algoritmos pueden ser ejecutados sólo localmente.

Jasso, en la tesis de maestría citada, menciona que el objetivo principal de Weka son los algoritmos de clasificación, los cuales mapean un conjunto de instancias con base en un conjunto finito de clases. Cada instancia de los datos es descrita por los valores de sus atributos. Por ejemplo, predecir si va a llover basado en la observación del cielo, la temperatura del aire, la humedad y el viento puede ser visto como una tarea de clasificación. La meta del proceso de obtención de un clasificador, es derivar un clasificador de un conjunto etiquetado de datos, un conjunto de instancias de datos que tienen asignada su clase correspondiente. La idea es que un clasificador obtenido del conjunto de datos etiquetados pueda ser utilizado para predecir las clases de instancias de datos futuras.