INSTITUTO POLITÉCNICO NACIONAL



Documentos relacionados
Parte I: Introducción

Base de datos en Excel

Base de datos II Facultad de Ingeniería. Escuela de computación.

Data Mining Técnicas y herramientas

Curso Excel Básico - Intermedio

Trabajo final de Ingeniería

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

Determinación de primas de acuerdo al Apetito de riesgo de la Compañía por medio de simulaciones

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 9 -

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Administración por Procesos contra Funciones

Metodología básica de gestión de proyectos. Octubre de 2003

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

ANÁLISIS DE DATOS NO NUMERICOS

El almacén de indicadores de proceso de negocio en ejecución

Figure 7-1: Phase A: Architecture Vision

BASE DE DATOS RELACIONALES

Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos

Inteligencia de Negocio

Análisis de medidas conjuntas (conjoint analysis)

Elementos requeridos para crearlos (ejemplo: el compilador)

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

RESUMEN CUADRO DE MANDO

Sistemas de Información Geográficos (SIG o GIS)

INTRODUCCIÓN CAPITULO I 1.1 PLANTEAMIENTO DEL PROBLEMA.

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Unidad 1. Fundamentos en Gestión de Riesgos

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

TÉCNICAS DE MINERÍA DE DATOS Y TEXTO APLICADAS A LA SEGURIDAD AEROPORTUARIA


v.1.0 Clase 5 Docente: Gustavo Valencia Zapata

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Día :00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE

MINING SOLUTIONS LIMITADA

UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA

Artículos de Minería de Datos de Dataprix Introducción a la minería de datos

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

capitulo3 MARCO TEÓRICO Para el diseño de la reubicación de los procesos se hará uso de la Planeación

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI)

Habilidades y Herramientas para trabajar con datos

1.1. Introducción y conceptos básicos

Cómo seleccionar el mejor ERP para su empresa Sumario ejecutivo

SISTEMAS DE INFORMACIÓN II TEORÍA

Copyright bizagi. Gestión de Cambios Documento de Construcción Bizagi Process Modeler

EL ANÁLISIS DE CONGLOMERADOS EN LOS ESTUDIOS DE MERCADO

Indicaciones específicas para los análisis estadísticos.

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Capítulo 2 Tecnología data warehouse

Reporte inicial. Metodología

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Interoperabilidad de Fieldbus

3.3.3 Tecnologías Mercados Datos

EL PORTAL DE LOS EXPERTOS EN PREVENCIÓN DE RIESGOS DE CHILE. División Difusión y Comunicaciones CALIDAD APQP

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Base de datos II Facultad de Ingeniería. Escuela de computación.

Portafolio de Servicios y Productos

Seis Sigma. Nueva filosofía Administrativa.

Operación Microsoft Windows

La Tecnología líder en Simulación

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Obteniendo más valor de su Sistema ERP

Procesos Críticos en el Desarrollo de Software

Base de datos relacional

2. MÉTODOS, INSTRUMENTOS Y ESTRATEGIAS

Conclusiones. Particionado Consciente de los Datos

Operación Microsoft Access 97

Evaluación, limpieza y construcción de los datos: un enfoque desde la inteligencia artificial

Análisis y cuantificación del Riesgo

LiLa Portal Guía para profesores

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

Metodología de la Investigación. Dr. Cristian Rusu

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

Análisis y Diseño de Aplicaciones

Capitulo 3: Metodología de Investigación.

REGISTRO DE EMPRESAS Y PERSONAS BASE DE INFORMACIÓN DE CLIENTES & CONTACTOS

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

CMMI (Capability Maturity Model Integrated)

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación

Guía Metodológica para el diseño de procesos de negocio

CASO 3-5 EUROPEAN ALCOHOL RESEARCH FOUNDATION

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS

Diseño de un estudio de investigación de mercados

EPB 603 Sistemas del Conocimiento!"#$ %& $ %'

CAPÍTULO 3. HERRAMIENTA DE SOFTWARE DE PLANEACIÓN DE

CURSO/GUÍA PRÁCTICA GESTIÓN EMPRESARIAL DE LA INFORMACIÓN.

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

Transcripción:

INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN ESTUDIO DEL DESEMPEÑO DE MODELOS DE MINADO DE DATOS IMPLEMENTADOS CON SQL, FUNCIONES DEFINIDAS POR EL USUARIO Y FUNCIONES NATIVAS T E S I S QUE PARA OBTENER EL GRADO DE: MAESTRO EN CIENCIAS EN INFORMÁTICA PRESENTA: JAVIER LEÓN COTONIETO DIRECTOR DE TESIS: DR. JAVIER GARCÍA GARCÍA México D.F. Otoño de 2011

There are only two kinds of people who are really fascinating: people who know absolutely everything, and people who know absolutely nothing. The picture of Dorian Gray - Oscar Wilde Yo por desdicha nací sentenciada a investigar, a atormentarme, a pensar y a no aceptar el misterio; pero a mi humano criterio le está vedado el volar. Décimas a Dios Pita Amor Giudico che la fortuna sia arbitra della metà delle azioni nostre, ma che ce ne lasci governare l'altra metà. Il Principe - Niccolò Machiavelli Agradecimientos A todos los miembros del comité revisor y director de tesis. A mis papás, hermanos y amigos que con su simple presencia influyen en mi crecimiento personal y me motivan a seguirme superando. A mi amigo, cómplice, anima gemella y revisor de mi tesis: Aldo Jimenez Arteaga por su apoyo y sabios consejos para mejorar la estructura y contenido de este trabajo. Gracias por tantas conversaciones inspiradoras.

J.L.C Resumen Resumen A lo largo de este trabajo de tesis se explora y evalúa una nueva tendencia en cuanto a la aplicación de la minería de datos. Esta tendencia consiste en evitar que los datos salgan del sistema manejador de base de datos (SMBD), donde ya residen, y aplicar el análisis de minería dentro del propio SMBD. Bajo este enfoque se eliminan algunas tareas involucradas en la construcción de modelos de minería y se reduce el tiempo de procesamiento 1 de los datos. Existen otras ventajas inherentes al hecho de no sacar los datos del SMBD, por ejemplo, no se requiere aumentar el número de controles para administrar el acceso a los mismos.sin embargo, la alternativa para realizar análisis de minería dentro del SMBD se enfrentan a ciertas limitaciones del propio SMBD. El SMBD no provee soporte para ciertas operaciones necesarias en minería de datos (Ejemplo, operaciones con matrices). La mayoría de los SMBD proveen soporte a alguna versión del lenguaje de consulta SQL (lenguaje estructurado de consulta, por sus siglas en inglés), pero éste no fue diseñado para ejecutar eficientemente dichas operaciones. Se muestran los resultados de implementar algunas técnicas descritas en los artículos de investigación [1, 2, 3, 4]. En estos artículos se presentan propuestas para extender la funcionalidad del SMBD utilizando UDFs (funciones definidas por el usuario, por sus siglas en inglés) y combinar estas funciones con consultas SQL para construir algunos modelos de minado de datos dentro del SMBD. Así mismo, se proponen algunas adecuaciones a estas técnicas, y diseños propios para la implementación otras técnicas no cubiertas en estos artículos. Finalmente, se evalúa el desempeño de dichas técnicas en dos SMBD: Oracle (versión comercial) y PostgreSQL(de código libre), y se compara el desempeño de éstas técnicas contra una herramienta comercial llamada Oracle Data Mining (ODM) que soporta análisis de minería de datos dentro del sistema manejador Oracle. 1 Esto se logra al eliminar el tiempo de extracción e importación de los datos que se requiere para que una herramienta externa procese los datos (miles o millones de registros). SEPI-UPIICSA-M.C. Informática I

Abstract J.L.C Abstract Throughout this work it is explored and evaluated a new trend in the application of data mining. This trend consists in preventing the data from leaving the database management system (DBMS), where they already reside, and apply the data mining analysis inside the DBMS. Under this approach some tasks involved in the process of building data mining models are eliminated. As a result the time 2 required to process the data is shortened. There are other advantages inherent in the fact of not taking the data out of the DBMS, for example, it is not necessary to increase the number of controls to manage access to them. However, the alternative of mining within the DBMS face certain limitations of the DBMS. The DBMS does not provide support for certain operations necessary for data mining (for example, matrix operations). Most DBMS provide support to some version of the query language SQL (structured query language), but it was not designed to efficiently compute such operations. It shows the results of implementing some techniques described in research papers [1, 2, 3, 4]. On these papers there are proposals to extend the functionality of the DBMS using UDFs (user-defined functions) and combine these functions with SQL queries to build some data mining models within the DBMS. Also, It is proposed some adjustments to these techniques, and designs for implementing other techniques not covered in those papers. Finally, we evaluate the performance of these techniques in two DBMS: Oracle (commercial version) and PostgreSQL (open source), and this performance is compared against a commercial tool called Oracle Data Mining (ODM) that supports data mining analysis inside the Oracle DBMS. 2 This is achieved by eliminating the extraction and import time of the data that is required by an external data mining tool for processing the data (thousands or millions of records) SEPI-UPIICSA-M.C. Informática II

Índice general Introducción 1 1. Conceptos Generales 9 1.1. Minería de Datos................................ 10 1.2. El Proceso de la Minería de Datos....................... 13 1.3. Clasificación de las Técnicas de Minería.................... 17 1.4. Niveles de Mediciones en los Datos...................... 19 2. Funciones de Minería de Datos a Evaluar 23 2.1. Regresión Lineal................................ 24 2.1.1. Ejemplo de Regresión con Regresión Lineal.............. 26 2.2. K-Means..................................... 29 2.2.1. Ejemplo de Agrupamiento con K-Means............... 30 2.3. Naïve-Bayes................................... 36 2.3.1. Ejemplo de Clasificación con NB................... 37 2.4. Apriori..................................... 40 III

Contenido J.L.C 2.4.1. Ejemplo de Reglas de Asociación con Apriori............. 41 2.5. Regresión Logística............................... 42 2.5.1. Ejemplo de Clasificación Binaria con Regresión Logística...... 44 3. Funciones Definidas por el Usuario 49 3.1. Generalidades de las UDFs........................... 51 3.1.1. Clasificación de UDFs......................... 51 3.2. UDFs en Oracle................................. 54 3.2.1. Manejo de Memoria Dinámica..................... 60 3.3. UDFs en PostgreSQL.............................. 61 3.4. Ventajas y Desventajas de las UDFs..................... 65 4. Funcionamiento de Oracle Data Mining 67 4.1. Introducción a Oracle Data Mining...................... 68 4.2. El Paquete DBMS DATA MINING...................... 70 4.3. El Paquete DBMS DATA TRANSFORM................... 72 4.4. Funciones de Oracle para Manipular Modelos de Minería de Datos..... 74 4.5. Ejemplo: Construcción de Modelo en ODM.................. 76 4.5.1. Crear la Tabla de Datos........................ 76 4.5.2. Definir Valores de Configuración para el Modelo........... 77 4.5.3. Construir el Modelo.......................... 78 5. Experimentación 81 SEPI-UPIICSA-M.C. Informática IV

J.L.C Contenido 5.1. Modelos de Regresión con Regresión Lineal.................. 84 5.1.1. Implementación............................. 84 5.1.2. Pruebas de Desempeño......................... 89 5.2. Modelos de Agrupamiento con K-Means................... 93 5.2.1. Implementación............................. 93 5.2.2. Pruebas de Desempeño......................... 96 5.3. Modelos de Clasificación con Naïve Bayes................... 100 5.3.1. Implementación............................. 100 5.3.2. Pruebas de Desempeño......................... 103 5.4. Modelos de Reglas de Asociación con Apriori................. 107 5.4.1. Implementación............................. 107 5.4.2. Pruebas de Desempeño......................... 112 Conclusiones 117 Anexo A. Especificaciones de Software y Hardware Utilizado 127 SEPI-UPIICSA-M.C. Informática V

Índice de figuras 1.1. Relación de la minería de datos con algunas disciplinas............ 10 1.2. Fases de un proyecto de Minería de Datos de acuerdo a la metodología CRISP-DM.[14]................................. 15 1.3. Algunos algoritmos para crear modelos de minería de datos......... 17 1.4. Niveles de Medición............................... 19 1.5. Características de los 4 niveles de medición.................. 20 1.6. Ejemplos de diferentes niveles de medición.................. 21 2.1. Datos para construir un modelo de regresión lineal.............. 26 2.2. Datos de clientes de una compañía de seguros................. 34 2.3. Representación gráfica de los grupos en WEKA................ 34 2.4. Comparación de un modelo de regresión lineal y logístico........... 42 2.5. Datos para construir un modelo de regresión logística............ 44 2.6. Construcción y operaciones con matrices para estimar un vector de coeficientes de regresión B............................. 46 2.7. Valor de probabilidad obtenida en modelos intermedios........... 47 VII

Contenido J.L.C 2.8. Valores de los coeficientes en cada iteración (paso).............. 48 5.1. Tabla y gráficas del desempeño (en segundos) del algoritmo de RL implementado en Oracle para diversos valores de escalamiento de n y d.... 90 5.2. Tabla y gráficas del desempeño (en segundos) del algoritmo de RL implementado en PostgreSQL para diversos valores de escalamiento de n y d.... 91 5.3. Tabla y gráficas del desempeño (en segundos) del algoritmo de RL de la herramienta ODM para diversos valores de escalamiento de n y d...... 92 5.4. Ejemplo de representación horizontal y vertical de datos........... 93 5.5. Tabla y gráficas del desempeño (en segundos) del algoritmo de K-Means implementado en Oracle para diversos valores de escalamiento de n y d... 97 5.6. Tabla y gráficas del desempeño (en segundos) del algoritmo de K-Means implementado en PostgreSQL para diversos valores de escalamiento de n y d. 98 5.7. Tabla y gráficas del desempeño (en segundos) del algoritmo de K-Means de la herramienta ODM para diversos valores de escalamiento de n y d... 99 5.8. Tabla y gráficas del desempeño (en segundos) del algoritmo de K-Means implementado en Oracle para diversos valores de escalamiento de n y d...104 5.9. Tabla y gráficas del desempeño (en segundos) del algoritmo de K-Means implementado en PostgreSQL para diversos valores de escalamiento de n y d.105 5.10. Tabla y gráficas del desempeño (en segundos) del algoritmo de K-Means de la herramienta ODM para diversos valores de escalamiento de n y d... 106 5.11. Transformación a formato especial (binaria) de los 2 formatos de datos de entrada soportados por la implementación de Apriori............ 108 SEPI-UPIICSA-M.C. Informática VIII

J.L.C Contenido 5.12. Tabla y gráficas del desempeño (en segundos) del algoritmo de K-Means implementado en Oracle para diversos valores de escalamiento de n y d...113 5.13. Tabla y gráficas del desempeño (en segundos) del algoritmo de K-Means implementado en PostgreSQL para diversos valores de escalamiento de n y d.114 5.14. Tabla y gráficas del desempeño (en segundos) del algoritmo de K-Means de la herramienta ODM para diversos valores de escalamiento de n y d... 115 5.15. Sistema Operativo Utilizado.......................... 128 SEPI-UPIICSA-M.C. Informática IX

Introducción La minería de datos es una tecnología que nos permite extraer conocimiento a partir de un conjunto de datos. El conocimiento, que potencialmente se puede extraer, está implícito en los datos, y por ello, la extracción de dicho conocimiento se convierte en una tarea no trivial. Para poder extraer el conocimiento, la minería de datos ha heredado técnicas de diversas disciplinas para poder construir modelos que resuelven problemas de clasificación, regresión, agrupamiento (clustering), reglas de asociación, etc. Con ayuda de los modelos creados se pueden caracterizar (describir/predecir) los datos. Este proceso nos permitirá, paulatinamente, encontrar los patrones ocultos en ellos. Para realizar análisis de minería de datos, comúnmente, se requiere que los datos deban ser importados a una herramienta capaz de realizar dicho análisis. Hoy en día, la información de las organizaciones se encuentra almacenada en diversas bases de datos (fuentes) y es común que se construya un almacén de datos (data warehouse) para concentrar la información de toda la organización. Estos almacenes de datos son una fuente rica en conocimiento para la minería de datos, ya que los modelos creados a partir de un conjunto de datos suficientemente representativo tendrán un mejor valor de confianza para ayudar adescribircomportamiento,yencontrarrelaciones ocultas enlosdatos. 1

Introducción J.L.C Objetivos 1. Instrumentar algoritmos de minería de datos usando SQL (lenguaje estructurado de consulta, por sus siglas en inglés) y UDFs (funciones definidas por el usuario, por sus siglas en inglés) en los sistemas manejadores de bases de datos (SMBDs) Oracle ypostgresql,usandolastécnicaspropuestasen[3,4,2]. 2. Explorar alternativas para implementar algoritmos de minado de datos no cubiertos en los artículos [3, 4, 2]. 3. Comparar los algoritmos implementados, en relación a su tiempo de ejecución, entre ambos SMBDs y en Oracle contra los algoritmos incluidos en la herramienta de minería de datos ODM (oracle data mining). 4. De acuerdo a los resultados de la evaluación experimental concluir qué implementación es la más eficiente, y en su caso, establecer escenarios en los que será más conveniente el uso de cada una de ellas. Planteamiento del Problema Existen muchos estudios que proponen alternativas diferentes para realizar análisis estadístico de grandes cantidades de datos. De acuerdo a [3, 1] el problema de la implementación de funciones estadísticas que manipulen matrices 3 se puede resolverse básicamente de 4 formas: 1. No realizar las operaciones de matrices dentro del SMBD y exportar los registros a una herramienta externa de minería de datos. 2. Integrar todas las operaciones de matrices dentro del SMBD haciendo modificaciones al código fuente del mismo. 3. Ejecutar todas las operaciones de matrices sólo con consultas SQL considerando las matrices como tablas relacionales. 3 Asumiendo que la matriz está almacenada en un SMBD SEPI-UPIICSA-M.C. Informática 2

J.L.C Introducción 4. Ejecutar las operaciones combinando SQL y UDFs. En [3] se menciona que se ha hecho mucha investigación en algoritmos de éste tipo, pero que en su mayoría trabajan fuera del SMBD, procesando archivos planos. Oracle Data Mining (ODM) [5] es una herramienta de minería de datos integrada en el SMBD Oracle. Los algoritmos de ODM operan nativamente en tablas o vistas relacionales. Esto permite que la ejecución del proceso de minería de datos se haga directamente en la base de datos, eliminando el costo de exportar la información para que sea analizada por una herramienta de manera externa. De acuerdo a [5], ODM trabaja nativamente en el SMBD y de manera similar las soluciones propuestas en [3, 4, 2] describen técnicas para ejecutar algoritmos de minería de datos dentro del SMBD, haciendo uso de SQL y UDFs. Al crear modelos de minado de datos dentro del SMBD se obtiene una disminución de tiempo, debido a la eliminación del costo de extracción e importación de los datos a una herramienta externa al SMBD. Así mismo, se mantiene sin cambios la seguridad de los datos (los datos no saldrán del SMBD y el acceso a los mismos sigue resguardado éste) y los datos estarán actualizados para realizar el análisis en el momento deseado. El objetivo de la evaluación experimental es determinar si los resultados obtenidos en [3, 4, 2] son válidos también en los SMBDs Oracle y PostgreSQL, así como determinar si la herramienta ODM (módulo opcional y de costo extra 4 )esmejoralassoluciones propuestas en [3, 4, 2]. 4 ODM (USD 23,000 por procesador) es módulo opcional para la versión Enterprise Edition de Oracle 11g (USD 47,500 por procesador)[6]. SEPI-UPIICSA-M.C. Informática 3

Introducción J.L.C Trabajos Relacionados Entre los trabajos relacionados al estudio propuesto se pueden mencionar los siguientes: 1. El artículo [1] habla sobre la implementación de técnicas descritas en [2, 3] y menciona la aplicación de dichas técnicas en una herramienta de minería de datos comercial llamada Teradata Warehouse Miner. 2. El articulo [2] analiza las características y limitaciones de implementar operaciones sobre vectores y matrices con UDFs. Muestra que las UDFs son más rápidas que funciones de agregación en SQL estándar e igual de rápidas que expresiones aritméticas en SQL. 3. El artículo [3] propone técnicas para calcular de manera eficiente 5 modelos estadísticos fundamentales dentro de un SMBD, explotando funciones definidas por el usuario. Las técnicas incluyen la definición de dos matrices fundamentales para los 5 modelos, y propone cómo construir dichas matrices a partir de consultas SQL y UDFs con sólo una lectura de los datos de entrada. Las técnicas propuestas son comparadas experimentalmente contra C++ que realiza el análisis sobre archivos planos. De acuerdo a los resultados de la comparación experimental, el autor concluye que las UDFs son mas rápidas que las consultas SQL y sólo un poco mas lentas a C++. Pero considerando el tiempo requerido para extraer los datos, C++ es mucho más lento que las UDFs. 4. Los artículos [4, 7] hablan sobre implementaciones de 2 algoritmos de minería de datos de agrupamiento (K-Means y EM) usando SQL. Justificación de la Tesis El proceso de análisis de minería de datos es por sí mismo un proceso costoso ya que debe manipular una gran cantidad de datos. Por ello resulta muy importante saber qué alternativa (ver objetivos) es la mejor en cuanto a desempeño. Considerando que de acuerdo SEPI-UPIICSA-M.C. Informática 4

J.L.C Introducción a [7, 8, 9] sólo pocas propuestas han abordado el problema de la integración de minería de datos en el SMBD resulta interesante la comparación entre ODM y la propuesta de UDFs hecha en [3]. Los resultados de la comparación pueden tener varias implicaciones, por ejemplo: Si las funciones nativas de ODM tienen el mejor desempeño, la evaluación puede servir como apoyo para justificar un nuevo paradigma de minería de datos embebido en el SMBD. Si las funciones nativas de ODM y UDFs tienen resultados semejantes. UDFs será una excelente alternativa para ejecutar análisis de minería de datos dentro del SMBD ya que la mayoría de los SMBD modernos cuentan con soporte de UDFs. Los resultados de la evaluación experimental del desempeño de las propuestas anteriores resultarán muy interesantes, ya que servirán como apoyo para determinar qué alternativa es la que tiene mejores resultados en una implementación de análisis de minería de datos dentro del SMBD. Alcances y Limitaciones El presente trabajo mostrará los resultados de la evaluación del desempeño de modelos de minado de datos construidos con SQL y UDFs en los SMBDs Oracle y PostgreSQL. También se evaluará el desempeño de modelos construidos con ODM en el SMBD Oracle. Para las evaluaciones se utilizará una base de datos sintética 5.Paraquelosresultados sean representativos, la evaluación se hará sobre una arquitectura idéntica 6 para los 2 SMBDs. La generalización de los resultados en otras arquitecturas está fuera del alcance de ésta investigación. 5 Una base de datos sintética es un conjunto de datos previamente generados de manera artificial para hacer pruebas de desempeño. Ver el capítulo 5 para el detalle de las bases de datos sintéticas utilizadas 6 En el Anexo 5.4.2, se puede consultar el detalle de hardware y configuración del software utilizado. SEPI-UPIICSA-M.C. Informática 5

Introducción J.L.C Debido a que los estudios hechos en [3, 2, 4] han arrojado resultados que indican que las implementaciones con UDFs son muy eficientes, una comparación interesante y poco estudiada es entre funciones nativas de una herramienta comercial (ODM) y la combinación de SQL con UDFs. Con estas 3 comparaciones (SQL, UDF y ODM) se podrá tener una perspectiva más amplia sobre el desempeño del análisis de minería de datos dentro del SMBD. Se hará la evaluación experimental de los siguientes algoritmos de minería de datos bien conocidos: 1. Regresión: Regresión lineal (linear regression). 2. Agrupamiento (clustering): K-Means. 3. Clasificación: Naïve Bayes. 4. Reglas de asociación: Apriori. 5. Clasificación binaria: Regresión Logística (logistic regression). Estructura del Trabajo El trabajo está dividido en 5 capítulos. El capítulo 1 contiene el marco teórico relacionado con la minería de datos. Este capítulo servirá como introducción para aquellos lectores poco familiarizados con esta tecnología. En el capítulo 2 se describen los algoritmos de minería de datos que serán implementados y de los cuales se hará la evaluación de desempeño. Para ayudar a que el lector comprenda el funcionamiento de cada algoritmo, se incluye un ejemplo que muestra el funcionamiento y los resultados que se obtienen al ejecutar cada algoritmo sobre un conjunto de datos simple. En el capítulo 3 se explica cómo implementar funciones definidas por el usuario en Oracle y PostgreSQL. El uso de UDFs es importante ya que las implementaciones de los algoritmos de minado de datos, SEPI-UPIICSA-M.C. Informática 6

J.L.C Introducción que se exponen en este trabajo, hacen uso en mayor o menor medida de esta alternativa para poder extender la funcionalidad del SMBD y lograr construir los modelos de minado dentro del SMBD. El capítulo 4 presenta una introducción al manejo del módulo de ODM para construir modelos de minado de datos a partir de la API (interfaz de programación de aplicaciones, por sus siglas en inglés) para PL/SQL que dispone. El capítulo 5 es el capítulo fundamental de este trabajo de tesis, en él se describen los detalles más importantes de la implementación de cada algoritmo, así como varios de los problemas encontrados durante la implementación y la evaluación de los mismos. Finalmente, se muestra el detalle de desempeño (tiempo de ejecución) de los algoritmos implementados en Oracle y PostgreSQL, así como la comparación en el desempeño de estos algoritmos con su versión equivalente en ODM. Las pruebas de desempeño incluyen diferentes niveles de escalamiento para ver cómo cambia el comportamiento del algoritmo con distintos tamaños de datos de estrada. En un último apartado se explican las conclusiones del trabajo yselistanunaseriedeposiblestrabajosfuturosquepudierandefinirseenfuncióndelos resultados obtenidos en esta investigación. En los anexos se pueden consultar el detalle de versiones y configuración de la plataforma donde se realizaron las pruebas de desempeño, partes del código fuente de los algoritmos de minería de datos implementados, así como algunos ejemplos para la invocación de los mismos y sus equivalentes en ODM. SEPI-UPIICSA-M.C. Informática 7

Capítulo 1 Conceptos Generales En este capítulo se muestra un panorama general de las disciplinas y temas relacionados con este trabajo de tesis. Se debe considerar que no se pretende explicar con amplio detalle cada uno de los temas, pero de ser necesario se pueden consultar las referencias propuestas en cada sección para un estudio más profundo. La necesidad de definir a la minería de datos, las disciplinas relacionadas y las diversas formas en las que puede estar representada la información (niveles de medición), surge por la importancia de comprender el contexto dentro del cual se desarrollará el presente trabajo, y con ello se entiendan los alcances y resultados del trabajo que se exponen a lo largo del capítulo 5 y las conclusiones. 9

Capítulo 1. Conceptos Generales J.L.C 1.1. Minería de Datos 1 La minería de datos es una disciplina cuyo objetivo primordial es la extracción de conocimiento a partir de un conjunto de datos. Este conocimiento es desconocido a priori, sin embargo, es potencialmente útil. La extracción de dicho conocimiento no es una actividad trivial debido a que éste se encuentra implícito en los de datos. El conocimiento extraído es útil, si ha sido obtenido a partir de un conjunto de datos válido y lo suficientemente representativo. Es común que el conjunto de datos utilizado como base para extraer conocimiento, a través de la utilización de técnicas de minería de datos, sea un almacén de datos (data warehouse) con la información histórica de ciertas transacciones de una organización. Esto implica que uno de los problemas importantes de la minería de datos sea el manejo de grandes cantidades de registros (elementos/puntos) con muchos atributos (dimensiones). El conocimiento que nos ayuda a descubrir la minería de datos se encuentra implícito en los datos, por lo que sería muy difícil extraerlo con técnicas comunes de reporteo. Es por ello que, las técnicas de minería de datos surgieron por la necesidad de extraer el conocimiento contenido en bases de datos. Hoy en día es común ver que el tamaño de las bases de datos, utilizadas por todo tipo de organizaciones, se ha incrementado notablemente gracias a los avances en el manejo, capacidad y precio de los medios de almacenamiento físico. El reto actual, por tanto, es contar con herramientas que puedan Figura 1.1: Relación de la minería de datos con algunas disciplinas. 1 Se puede consultar [10, 11, 12, 13] para mayor detalle del tema. SEPI-UPIICSA-M.C. Informática 10

J.L.C Capítulo 1. Conceptos Generales explotar eficientemente la información contenida en dichas bases de datos. La minería de datos se desarrolló heredando técnicas de otras disciplinas y en realidad existen pocas técnicas que hayan sido desarrolladas específicamente para minería de datos. Dentro de las disciplinas de las cuales la minería de datos ha adoptado técnicas podemos mencionar a la estadística, la inteligencia artificial, el aprendizaje automático y las bases de datos, entre otras. La importancia de la minería de datos, en el mundo empresarial, está en el hecho de que el conocimiento que es factible extraer de las bases de datos (que en muchos casos representan el registro de muchos años de operación) puede ser traducido en estrategias de negocio, por ejemplo: incrementar los clientes, las ventas o las utilidades; descubrir nuevos nichos de mercado; crear productos nuevos o personalizarlos de acuerdo a las características de y necesidades de sus clientes, etc. Es importante señalar que la minería de datos también es utilizada en diversas áreas de investigación como la biología, genética, meteorología y áreas de ingeniería en general. Por ejemplo, para encontrar patrones que se encuentran en los datos recolectados por un experimento de un laboratorio. Podemos concluir que la minería de datos se vuelve muy importante en un entorno donde la acumulación de información crece a un ritmo muy acelerado, y existe la necesidad de extraer el conocimiento implícito en esas colecciones de datos. Hoy en día existen un gran número de herramientas que ayudan a aplicar estas técnicas de minería de datos; se les encuentra en soluciones empresariales y de pago, así como muchas propuestas en el ámbito del software libre y de código abierto. Aunque las herramientas existentes en el mercado son muy buenas, y se ha hecho un gran trabajo en la optimización y modificación de las técnicas heredadas de otras disciplinas para facilitar su uso en minería de datos, hay temas que hoy en día resultan de suma importancia plantear. Muchas de las herramientas existentes requieren que la información sea exportada (comúnmente en archivos planos o con un formato propio de la herramienta) SEPI-UPIICSA-M.C. Informática 11

Capítulo 1. Conceptos Generales J.L.C para que pueda ser manipulada por la herramienta de minería. Éste proceso implica principalmente un consumo de tiempo considerable ya que estamos hablando de bases de datos de un gran volumen. Considerando que el proceso de análisis de minería es un proceso dinámico y que muchas veces requiere que se vayan probando diferentes escenarios para los datos (mas dimensiones, diferentes combinaciones, cambiar parámetros del análisis, etc) o bien aplicar el modelo, previamente creado, a nuevos datos (scoring) para evaluar su efectividad, implicará que durante estos ciclos la información deba ser importada y exportada a la herramienta deseada cada vez que los datos hayan cambiado obienhastaobtenerunmodeloquesealosuficientementeconsistente. Alolargodeloscapítulos3y5seabordaránlosbeneficiosdeintegrarlastécnicasde minería de datos para que sean ejecutadas dentro del sistema manejador de base de datos (SMBD). Se presentan los resultados obtenidos al evaluar el desempeño de algunos algoritmos y se comparan con una herramienta comercial llamada Oracle Data Mining (ODM). Esta herramienta es una de las pocas herramientas integradas al propio SMBD, aunque debido a su precio no estaría al alcance de empresas medianas o centros de investigación con presupuesto limitado. SEPI-UPIICSA-M.C. Informática 12

J.L.C Capítulo 1. Conceptos Generales 1.2. El Proceso de la Minería de Datos 2 Para aplicar la minería de datos es necesario reconocer que se necesitan algunos elementos mínimos, sin los cuales, los resultados obtenidos por un proceso de minería de datos pueden ser poco útiles dando como resultado que la inversión asignada a un proyecto de minería de datos no se justifique con los resultados obtenidos. Para minimizar el riesgo de que esto ocurra, el proyecto de minería de datos debe identificar y definir (o adecuar) los elementos que intervienen en el proyecto. Por ejemplo: Datos. Es un elemento fundamental y se debe considerar todo lo necesario para almacenar y procesar un gran volumen de los mismos. Los datos serán la materia prima para construir y aplicar modelos de minado de datos. Usuarios. Son todas aquellas personas que intervengan en el proceso de minería. Se deben considerar desde los especialistas (técnicos) y analistas (minero de datos) hasta los consumidores o beneficiados por los resultados. Los usuarios no se limitan a personas individuales pueden tomar este papel áreas completas de una organización u otros sistemas de información. Metodología. Es importante adoptar una metodología que permita identificar los objetivos del negocio. La metodología debe guiar las actividades a lo largo del proyecto para asegurar el logro de los objetivos del proyecto. Herramientas de Minería Se refiere propiamente a las técnicas de minería de datos (ver sección 1.3) así como a herramientas que ayuden a validar los modelos construidos, por ejemplo, validación cruzada (cross validation 3 ). Para estas herramientas, una 2 Para mayor información se puede consultar [12, 13] 3 Cross Validation es una técnica utilizada para validar la fortaleza de un modelo. El proceso consiste en dividir el conjunto de datos de entrenamiento en n particiones. Se debe aplicar el modelo a cada partición y cada vez que se aplica el modelo a una partición, el resultado se valida con el resto de los datos. En cada ciclo se mide el error y al final se obtiene un promedio del mismo. SEPI-UPIICSA-M.C. Informática 13