Printer Friendly

Integracion de los algoritmos de mineria de datos 1R, prism e ID3 a PostgreSQL.

1. INTRODUCCION

La mineria de datos es una tecnica que nos permite obtener patrones o modelos a partir de los datos recopilados. Esta tecnica se aplica en todo tipo de entornos como, por ejemplo, en la rama biologica, aplicaciones educacionales y financieras, procesos industriales, policiales y politicos.

Dentro de la mineria de datos existen diversas tecnicas, entre las cuales se encuentran la de induccion de reglas y arboles de decision, que segun diversos estudios realizados, se encuentran entre las mas utilizadas. (Moreno, 2007) (Heughes Escobar, 2007)

Existen numerosas herramientas independientes del sistema gestor de bases de datos que permiten aplicar esas tecnicas a grandes volumenes de datos, sin embargo, la mayoria de estas herramientas son propietarias y no estan al alcance de las organizaciones cubanas por ser altamente costosas. Otras herramientas como WEKA o YALE RapidMiner tienen licencia GPL, pero cuando existe una gran cantidad de datos a analizar, el proceso se vuelve engorroso y lento (Soto Jaramillo, 2009). Ademas, se debe garantizar la seguridad de los datos pues la informacion viaja a traves de la red.

Para solucionar estos problemas, en la actualidad, algunas empresas como Microsoft y Oracle han desarrollado modulos dentro de sus sistemas gestores de bases de datos que incluyen las tecnicas de mineria de datos, lo que les permite agilizar los tiempos de respuesta ya que no seria necesario transformar "datos sin formato" en "informacion procesable" (preparacion de los datos) o importacion o vinculacion con la herramienta encargada de hacer el analisis. De esa forma, se evita tener que contar con personal preparado en otras herramientas de analisis de datos y se proporciona a los analistas de datos un acceso directo pero controlado, lo que acelera la productividad sin poner en riesgo la seguridad de los datos. Sin embargo, a pesar de estas ventajas, estos softwares tienen el inconveniente de ser propietarios.

Actualmente Cuba esta inmersa en migrar a software de codigo abierto buscando garantizar la seguridad nacional y lograr su independencia tecnologica. Una de las tareas para lograr este objetivo es la migracion a la tecnologia de bases de datos PostgreSQL por ser el SGBD de codigo abierto mas avanzado del mundo ya que soporta la gran mayoria de las transacciones SQL, control concurrente, ofrece modernas caracteristicas como consultas complejas, disparadores, vistas, integridad transaccional y permite agregar extensiones de tipo de datos, funciones, operadores y lenguajes procedurales. (Vazquez Ortiz & Castillo Martinez, 2011) (The PostgreSQL Global Development Group, 2011). Sin embargo, este sistema no ha integrado estas tecnicas de mineria de datos.

Por ese motivo, es necesario lograr la independencia del sistema gestor de base de datos PostgreSQL para analizar los datos mediante las tecnicas de mineria de datos, reglas de induccion y arboles de decision. De ahi que se plantee como objetivo, en la presente investigacion, integrar algoritmos de las tecnicas de mineria de datos, reglas de induccion y arboles de decision al sistema gestor de bases de datos PostgreSQL.

2. DESARROLLO

Mineria de datos

El descubrimiento de conocimiento en bases de datos (KDD, por sus siglas en ingles: Knowledge Discovery from Databases) se ha desarrollado en los ultimos anos como un proceso que consta de una secuencia iterativa de etapas o fases, que son: preparacion de los datos (seleccion y transformacion), mineria de datos, evaluacion, interpretacion y toma de decisiones.

Una de las fases mas importantes dentro de este proceso es la mineria de datos, que integra tecnicas de analisis de datos y extraccion de modelos (U. Fayyad, 1996). La mineria de datos se basa en varias disciplinas, entre ellas la estadistica, las bases de datos, el aprendizaje automatico y otras que dependen del negocio al cual se aplica el proceso o del tipo de aplicacion.

En los ultimos anos, muchos investigadores se han profundizado en este tema y han dado distintos conceptos sobre la mineria de datos, de entre los cuales el proporcionado por Fayyad (*), "la mineria de datos es un proceso no trivial de identificacion valida, novedosa, potencialmente util y entendible de patrones comprensibles que se encuentran ocultos en los datos" (U. Fayyad, 1996).

Tecnicas de mineria de datos

Las tecnicas de mineria de datos constituyen un enfoque conceptual y, habitualmente, son implementadas por varios algoritmos (Molina Lopez & Garcia Herrero). Estas pueden clasificarse, segun su utilidad, en tecnicas de clasificacion, de prediccion, de asociacion o de agrupamiento (clustering).

* Las tecnicas de prediccion permiten obtener pronosticos de comportamientos futuros a partir de los datos recopilados, de ahi que se apliquen frecuentemente. Estas tecnicas resultan utiles, por ejemplo, en aplicaciones para predecir el parte meteorologico o en la toma de decisiones por parte de un cliente en determinadas circunstancias.

* Las tecnicas de agrupamiento concentran datos dentro de un numero de clases preestablecidas o no, partiendo de criterios de distancia o similitud, de manera que las clases sean similares entre si y distintas de las otras clases (Rodriguez Suarez, 2009). Su utilizacion ha proporcionado significativos resultados en lo que respecta a los clasificadores o reconocedores de patrones, como en el modelado de sistemas.

* Las tecnicas de reglas de asociacion permiten establecer las posibles relaciones o correlaciones entre distintas acciones o sucesos aparentemente independientes; pudiendo reconocer como la ocurrencia de un suceso o accion puede inducir o generar la aparicion de otros (Molina Lopez & Garcia Herrero).

* Las tecnicas de clasificacion definen unas series de clases, en que se pueden agrupar los diferentes casos. Dentro de este grupo se encuentran las tecnicas de arboles de decision y reglas de induccion.

(*) El Dr. Usama Fayyad fue el vicepresidente ejecutivo de Yahoo y creo el grupo DMX dentro de Microsoft, dedicado a la mineria de datos. Actualmente es CEO de Opens Insights. Realizo varios tutoriales sobre Mineria de Datos, asi como algoritmos y tecnicas para el desarrollo de los negocios y business intelligence. Es editor en jefe de la revista sobre mineria de datos llamada: Data mining and Knowledge Discovery, publicada por Kluwer Academic Publishers. Participo en la programacion de KDD-94 y KDD-95 (conferencia international de mineria de datos y descubrimiento de conocimiento).

Arboles de decision

Un arbol de decision es un conjunto de condiciones organizadas en una estructura jerarquica, de tal manera que permite determinar la decision final que se debe tomar siguiendo las condiciones que se cumplen desde la raiz del arbol hasta alguna de sus hojas. Los arboles de decision se utilizan desde hace siglos, y son especialmente apropiados para expresar procedimientos medicos, legales, comerciales, estrategicos, matematicos, logicos, entre otros (Solarte Martinez G. R., 2009). Estos se caracterizan por la sencillez de su representacion y de su forma de actuar, ademas de la facil interpretacion, dado que pueden ser expresados en forma de reglas de decision.

Una de las grandes ventajas de los arboles de decision es que, en su forma mas general, las opciones posibles a partir de una determinada condicion son excluyentes. Esto permite analizar una situacion y siguiendo el arbol de decision apropiadamente, llegar a una sola accion o decision a tomar.

Entre los algoritmos de arboles de decision se encuentran el ID3 (Induction of Decision Trees) y el C4.5 desarrollados por JR Quinlan, siendo que el ID3 es considerado un clasico de los algoritmos de aprendizaje automatico.

Induction de Reglas

Las reglas permiten expresar disyunciones de manera mas facil que los arboles y tienden a preferirse con respecto a los arboles por tender a representar "pedazos" de conocimiento relativamente independientes.

Las tecnicas de Induccion de Reglas permiten generar y contrastar arboles de decision, o reglas y patrones a partir de los datos de entrada. La informacion de entrada sera un conjunto de casos en que se ha asociado una clasificacion o evaluacion a un conjunto de variables o atributos (Omar Ruiz, 2008).

Como ventajas de las reglas de induccion podemos citar las representaciones de hipotesis mas "comprensibles" para el ser humano y el formalismo mas popular de representacion del conocimiento.

Entre los algoritmos, que implementan las tecnicas reglas de clasificacion se encuentran:

* Algoritmo 1R

* Algoritmo PRISM

Herramientas para aplicar tecnicas de mineria de datos

Para la aplicacion de las tecnicas de mineria de datos existen diversas herramientas; algunas son independientes del sistema gestor de bases de datos y otras son nativas de un gestor de bases de datos especifico.

Herramientas nativas del gestor

En los ultimos anos, empresas como ORACLE y SQL Server han incorporado algunos algoritmos o tecnicas para el analisis de datos, buscando facilitar el proceso de descubrimiento de conocimiento para la toma de decisiones.

SQL Server Data Mining: es una herramienta que contiene las caracteristicas necesarias para crear complejas soluciones de mineria de datos, ya que permite:

* Aplicar soluciones de mineria de datos utilizando Microsoft Excel.

* Entender como, cuando y donde aplicar los algoritmos que se incluyen en el servidor de SQL.

* Realizar la extraccion de datos de procesamiento analitico en linea (OLAP).

* Utilizar SQL Server Management Studio para acceder y proteger los objetos de mineria de datos.

* Utilizar SQL Server Business Intelligence Development Studio para crear y gestionar proyectos de mineria de datos (MacLennan, Tang, & Crivat, 2009).

Entre las ventajas de la mineria de datos de Microsoft podemos citar la integracion estrecha con la plataforma de base de datos de clase mundial SQL Server, ya que aprovecha el desempeno, la seguridad y las caracteristicas de optimizacion de SQL Server; la extensibilidad, ya que se puede extender la mineria de datos de Microsoft para implementar algoritmos que no vienen incluidos en el producto.

Los algoritmos implementados por Microsoft son:

* Arboles de decision.

* Bayes naive.

* Clusteres.

* Redes neuronales.

* Serie temporal.

* Regresion lineal.

* Clusteres de secuencia.

* Asociacion.

Oracle Data Mining: permite que las empresas desarrollen aplicaciones de inteligencia de negocio avanzadas que exploten las bases de datos corporativas, descubran nuevos conocimientos e integren esa informacion en aplicaciones comerciales (Haberstroh, 2008).

Oracle Data Mining incorpora las siguientes funcionalidades de mineria de datos para realizar clasificaciones, agrupamiento, predicciones y asociaciones.

* Agrupamiento (k-means, O-Cluster).

* Arboles de decision.

* Atributo relevante.

* Caracteristica de seleccion.

* Clasificador bayesiano (naive bayes).

* Maquinas de soporte vectorial (support vector machines).

* Modelos lineales generalizados

* Reglas de asociacion (APRIORI).

Todas las funciones de los modelos son accesibles a traves de una API basada en Java.

El caracter nativo de la solucion es un plus fuerte, en tanto que las implementaciones de cada una de las etapas del proceso se encuentran incluidas en el motor.

Herramientas independientes del gestor

Entre las herramientas libres mas utilizadas para la mineria de datos se encuentran Weka (Waikato Environment for Knowledge Analysis) es una herramienta visual de distribucion libre para el analisis y la extraccion de conocimiento a partir de datos (V.Ramesh, 2011)

Las principales ventajas de la herramienta son:

* Es multiplataforma.

* Contiene una extensa coleccion de tecnicas para preprocesamiento y modelado de datos.

* Es facil de usar, gracias a su interfaz grafica.

* Soporta varias tareas de mineria de datos, especialmente preprocesamiento, agrupamiento, clasificacion, regresion, visualizacion y seleccion.

* Permite combinar varios algoritmos basados en tecnicas de mineria de datos, para obtener mejores resultados en el descubrimiento de conocimiento.

* Es capaz de mostrar los datos en varios tipos de graficos con el objetivo de proporcionar una mejor comprension y un mejor analisis.

YALE RapidMiner

La herramienta fue desarrollada en Java, en 2001, por el departamento de inteligencia artificial en la universidad de Dortmund. Es multiplataforma, es un software de codigo abierto GNU y con licencia GPL. La ultima version, incluye caracteristicas como las de implicar nuevos formatos de entrada de datos con operadores para Microsoft Excel y SPSS. Desde la perspectiva de la visualizacion, YALE ofrece representaciones de datos en dispersion en 2D y 3D; representaciones de datos en formato SOM (Self Organizing Map); coordenadas paralelas y grandes posibilidades de transformar las visualizaciones de los datos.

De forma general, se puede decir que las herramientas de mineria de datos de ORACLE y SQL Server son herramientas muy potentes, y que una de sus mayores fortalezas radica en la integracion con el sistema gestor de base de datos. Sin embargo, ambas son herramientas propietarias y muy costosas para las empresas cubanas. Por otra parte, las herramientas como Weka y YALE Rapid Miner son herramientas libres, pero que tienen la desventaja de ser un proceso engorroso, puesto que requiere tiempo para la preparacion, la vinculacion de los datos con la herramienta, extendiendo asi el tiempo de respuesta de los analisis.

Implementacion del Algoritmo 1R

El algoritmo 1R, propuesto por Robert C. Holte en 1993, es un clasificador muy sencillo, que unicamente utiliza un atributo para la clasificacion. A pesar de que el autor lo cataloga como "Program 1R is ordinary in most respects." sus resultados pueden ser muy buenos en comparacion con algoritmos mucho mas complejos y su rendimiento promedio esta por debajo de los de C4.5 en solo 5,7 puntos porcentuales de aciertos de clasificacion segun los estudios realizados por el autor del algoritmo (HOLTE, 1993).

Figura 1- Pseudocodigo del algoritmo 1R

1R (ejemplos) (
  Para cada atributo (A)
     Para cada valor del atributo (Ai)
       Contar el numero de apariciones de cada clase con Ai
       Obtener la clase nas frecuente (Cj)
       Crear una regia del tipo Ai -> Cj
     Calcular el error de las reglas del atributo A
  Escoger las reglas con menor error
}.


La implementacion del algoritmo 1R se realizo utilizando el pseudocodigo mostrado en la figura 1. Esta funcion solo permite trabajar con tablas que tengan atributos nominales y en las que no debe haber atributos con valores desconocidos para obtener el resultado deseado.

La funcion toma como entrada el nombre de la tabla y la clase sobre la cual se va a realizar el analisis y devuelve como resultado un conjunto de reglas para los atributos con la menor cantidad de errores.

Implementacion del algoritmo PRISM

El algoritmo PRISM es un algoritmo de cubrimiento sencillo que asume que no hay ruido en los datos. Su objetivo es crear reglas perfectas que maximicen la relacion p/t, siendo p la cantidad de ejemplos positivos cubiertos por la regla y t la cantidad de ejemplos cubiertos por la regla. (Chesnevar, 2009)

Este algoritmo tiene la caracteristica de eliminar los ejemplos que va cubriendo por las reglas conformadas, por lo cual las reglas deben mostrarse e interpretarse en el orden que se van cubriendo.

Figura 2: Pseudocodigo del algoritmo PRISM

PRISM (ejemplos) {
  Para cada clase (C)
    E = ejemplos
    Mientras E tenga ejemplos de C
      Crea una regla R con parte izquierda vacia y clase C
      Hasta R perfecta Hacer
        Para cada atributo A no incluido en R y cada valor v de A
          Considera afiadir la condicion A=v a la parte izquierda de R
          Selecciona el par A=v que maximice p/t
            (en caso de empates, escoge la que tenga p mayor)
        Anadir A=v a R
    Elimina de E los ejemplos cubiertos por R


La implementation del algoritmo PRISM se realizo utilizando el pseudocodigo de la figura 2. Esta funcion solo permite atributos nominales y, para obtener el resultado deseado, no puede haber atributos con valores desconocidos..

La funcion toma como entrada el nombre de la tabla y la clase sobre la cual se va a realizar el analisis y devuelve como resultado un conjunto de reglas que se deben interpretar en el orden en que aparecen como lo estipula el algoritmo.

Implementation del algoritmo ID3

El ID3, propuesto por J. R Quinlan en 1986, es un algoritmo simple y, a la vez potente, que permite elaborar un arbol de decision como un metodo para aproximar una funcion objetivo de valores discretos, que es resistente al ruido en los datos y que es capaz de hallar o aprender de una disyuncion de expresiones.

Para construir el arbol, el algoritmo utiliza el analisis de la entropia, la teoria de la informacion (basada en la entropia) y la ganancia de informacion.

Figura 3--Pseudocodigo del algoritmo ID3

1. Seleccionar el atributo [A.sub.i] que maximice la ganancia
G([A.sub.i]).

2. Crear un nodo para eae atributo con tantoa auceaorea como
valorea tenga.

3. Introducir loa ejemploa en loa auceaorea aegiin el valor que
tenga el atributo [A.sub.i].

4. Por cada suceaor:

a. Si aolo hay ejemploa de una claae, [C.sub.k], entoncea
etiquetarlo con [C.sub.k].

b. Si no, llaraar a ID3 con una tabla formada por loa ejemploa de
eae nodo, eliminando la columna del atributo [A.sub.i].


La implementacion de algoritmo ID3 se realizo utilizando el pseudocodigo de la figura 3. Esta funcion solo permite trabajar con tablas que tengan atributos nominales y, para obtener el resultado deseado, no puede haber atributos con valores desconocidos.

La funcion toma como entrada el nombre de la tabla y la clase sobre la cual se va a realizar el analisis y devuelve como resultado un conjunto de reglas derivadas del arbol de decision.

Mecanismo para optimizar el rendimiento de los algoritmos implementados.

Generalmente las tablas sobre las que se realizan analisis de mineria de datos cuentan con un gran volumen de informacion, lo que puede retrasar el resultado de dicho estudio.

Una de las opciones que brinda PostgreSQL para mejorar el rendimiento en estos casos es el particionado de tabla, que permite obtener un mejor desempeno a la hora de consultar dichas tablas.

El particionado de tablas es una tecnica que consiste en descomponer una enorme tabla (padre) en un conjunto de tablas hijas. Esta tecnica reduce la cantidad de lecturas fisicas a la base de datos cuando se ejecutan las consultas.

En PostgreSQL los tipos de particionado existentes son por rango y por lista (The PostgreSQL Global Development Group, 2011).

* Particionado por rango: se crean particiones mediantes rangos definidos en base a cualquier columna que no se solape entre los rangos de valores asignados a diferentes tablas hijas.

* Particionado por lista: se crean particiones por valores.

En la presente investigacion se implementa una funcion que permite realizar el particionado de la tabla segun los valores de la clase (particionado por lista). Lo cual permite agilizar la busqueda a la hora de clasificar.

La funcion tiene como parametro de entrada la tabla que se desea particionar y el nombre de la clase, creandose tantas particiones como valores tenga la clase.

Las tablas padres creadas por la funcion tendran como nombre la concatenacion de master mas el antiguo nombre de la tabla y las tablas hijas tendran como nombre la concatenacion del antiguo nombre de la tabla mas el valor de la clase por la cual se creo la particion.

Integracion de los algoritmos al SGBD PostgreSQL.

A partir de la version 9.1, PostgreSQL brinda facilidades para que los usuarios puedan crear, cargar, actualizar y administrar extensiones utilizando el objeto de base de datos EXTENSION (PostgreSQL, 2011).

Entre las ventajas de esta nueva funcionalidad, se encuentra que, en lugar de ejecutar un script SQL para cargar objetos que esten "separados" en su base de datos, se tendra la extension como un paquete que contendra todos los objetos definidos en ella, lo que trae gran beneficio al actualizarla o eliminarla, ya que, por ejemplo, se pueden eliminar todos los objetos utilizando el comando DROP EXTENSION sin necesidad de especificar cada uno de lo objetos definidos dentro de la extension. Ademas de eso, se cuenta con un repositorio para obtener extensiones y contribuir con ellas (http://pgxn.org/).

La integracion de los algoritmos implementados con el SGBD se va a realizar mediante la creacion de una extension por las ventajas que PostgreSQL brinda para su creacion.

Creacion de la extension mineria de datos

Para crear la extension, se deben crear dos archivos. En el primero se definen las caracteristicas de la extension; en el segundo, los objetos SQL que se desean agregar. Estos deben ubicarse en el directorio de la instalacion "C:\Archivos de programa\PostgreSQL\9.1\share\extension"

En el archivo "mineria_datos.control" creado para agregar la extension en que se cargaron las funciones de los algoritmos implementados se definieron los siguientes parametros:

* comment: una breve descripcion sobre el contenido de la extension creada.

* Encoding: el tipo de codificacion utilizado.

* default_version: la version de la extension.

* relocatable: si se puede.

* schema: el esquema en que se almacenaran los objetos creados por la extension.

Una vez que se haya definido el archivo "mineria_datos.control", se especifica el archivo que contendra el codigo de las funciones desarrolladas "mineria_datos-1.0.sql"

Trabajo con la extension de mineria de datos.

Para que los usuarios puedan utilizar la extension de mineria de datos, simplemente deben ejecutar el comando "CREATE EXTENSION mineria_datos" que cargara la extension como se puede apreciar en la imagen 6.

Para consultar las funciones agregadas por la extension, se debe consultar, en el esquema pg_catalogo, la carpeta de funciones como se muestra en la figura 7.

La extension de mineria de datos creada puede ser usada a partir de la version 9.1 de PostgreSQL.

Evaluacion de los algoritmos implementados.

Para validar los algoritmos, se diseno un experimento definido por Roberto Hernandez Sampieri (1) como "un estudio de investigacion en el que se manipulan deliberadamente una o mas variables independientes (supuestas causas) para analizar las consecuencias que la manipulacion tiene sobre una o mas variables dependientes (supuestos efectos), dentro de una situacion de control para el investigador" (Martinez Valenzuela, 2007).

En este caso, se definieron como variables independientes la cantidad de registros y la herramienta utilizada para aplicar la mineria de datos. Como variables dependientes se identificaron el tiempo de respuesta y el resultado de los algoritmos.

Para una mejor comprension del diseno del experimento, se resume la definicion operacional en las tablas 1 y 2.

Aplicacion del experimento

Para el entorno del experimento se selecciono una computadora Haier con Procesador Intel Celeron 2000 MHz, una memoria RAM de 1024 MB y un disco duro de 120 Gb. Ademas se cuenta con el servidor de PostgreSQL 9.1, la herramienta PgAdminIII y Weka 3.6.7. Esta ultima fue seleccionada para la comparacion, ya que, segun el estudio realizado en el articulo "Herramientas de Mineria de Datos" publicado en la revista RCCI, es la herramienta libre mas conocida y mas utilizada.

Relacion de la variable cantidad de registros con el tiempo de resultado.

En este primer caso se va a realizar un estudio de como se comporta el tiempo de respuesta en las herramientas Weka y el gestor PostgreSQL cuando se manipula la variable cantidad de registros para cada uno de los algoritmos estudiados.

Los tiempos de respuestas de Weka se van a medir desde el momento en que se establece la consulta para cargar los datos de la BD hasta el momento en que la herramienta brinda el resultado del algoritmo.

En la tabla numero 3 se puede observar que a medida que se fue incrementando la cantidad de registros los tiempos de analisis para el algoritmo 1R aumentaron y, en el caso de la herramienta Weka, los tiempos de respuestas resultaron superiores con respecto al analisis realizado mediante los algoritmos integrados al SGBD PostgreSQL. Para la categoria o nivel de 1000020 registros, los analisis no se pudieron efectuar con la herramienta Weka ya que esta retorno error debido a la gran cantidad de datos.

Para una mayor comprension de la informacion de la tabla 3, se representa la grafica de la figura 8.

En la tabla 4 se puede apreciar que, del mismo modo que ocurrio con el algoritmo PRISM, a medida que se aumentaron la cantidad de filas, los tiempos de analisis se incrementaron. Para el caso de la categoria o nivel 500010 registros, la herramienta Weka tardo 3600 segundos ejecutando sin mostrar el resultado y, en el caso de 1000020, ocurrio error.

La figura 9 presenta los resultados del analisis realizado anteriormente.

La la tabla 5 deja evidente, al igual que las tablas anteriores, la relacion directamente proporcional entre la cantidad de registros y el tiempo de analisis del algoritmo ID3, resaltando los tiempos de la solucion propuesta en la investigacion que son menores. En la figura 10 se puede observar el grafico de los resultados del analisis realizado en la tabla 5.

Relacion de la variable cantidad de registros con las respuestas de los algoritmos.

En el caso numero 2 se analiza el comportamiento de la variable resultado de los algoritmos al manipular la cantidad de registros que seran analizados.

Al analizar los resultados de las tablas 6, 7 y 8 se puede concluir que a medida que se incremento la cantidad de registros se dificulto el analisis de los datos por medio de la herramienta Weka.

Validacion del mecanismo de particionado

Para validar que el particionado de tabla propuesto mejora el rendimiento de los algoritmos, se crearan particiones en la tabla prueba_d, que cuenta con 8000160 registros.

Como resultado del particionado, se obtienen 3 tablas masterprueba_d que es la tabla padre, prueba_dsi que contiene todos los registros que su case tiene valor "si" y prueba_dno los registros con valores "no".

Al aplicar el algoritmo 1R integrado al SGBD PostgreSQL sin crear particiones, el tiempo de respuesta es de 174,184 segundos y tras haber particionado la tabla, es de 149,98 segundo (vease el anexo 5).

La figura 12 muestra como el analisis en la tabla particionada por el valor de la clase es menor que en la tabla normal, lo que demuestra que el mecanismo de particionado de datos agiliza el resultado del algoritmo 1R.

4. CONCLUSIONES

Los resultados obtenidos en esta investigation permiten afirmar que: las tecnicas de mineria de datos arboles de decision y reglas de induccion permiten obtener, como resultado final, reglas que, por sus caracteristicas, son unas de las formas de representar que mas se han divulgado y unas de las tecnicas que las personas comprenden con mayor facilidad.

Ademas se pudo evidenciar que las herramientas libres existentes de mineria de datos tienen el inconveniente de ser independientes del SGBD, razon por la cual se implementaron tres algoritmos de tecnicas de clasificacion y se integraron al SGBD PostgreSQL a traves de la creacion de una extension, lo que contribuye a la soberania tecnologica del pais y a que el gestor sea mas competitivo.

Asimismo, se desarrollo una funcion que permite aprovechar uno de los mecanismos de optimizacion del gestor para mejorar los resultados de respuesta de los algoritmos implementados.

Los algoritmos implementados fueron validados por medio de un diseno de experimento que permitio observar que los tiempos de analisis de los algoritmos integrados al SGBD son menores que los resultados de la herramienta Weka.

5. RECOMENDACIONES

Se deben integrar otros algoritmos de mineria de datos al SGBD PostgreSQL de la tecnica de Reglas de Asociacion, ya que esta es tan descriptiva como las utilizadas en la investigacion, ademas de figurar entre las mas utilizadas.

DOI: 10.4301/S1807-17752013000200012

Yadira Robles Aranda, Anthony R. Sotolongo

Universidad de las Ciencias Informaticas, Ciudad de la Habana, Cuba

Manuscript first received/Recebido em 18/09/2012 Manuscript accepted/Aprovado em: 23/04/2013

Address for correspondence / Endereco para correspondencia

Yadira Robles Aranda, Msc, Profesor Asistente Dpto de Ingenieria de Software, Universidad de las Ciencias Informaticas, Cuba, carretera San Antonio de los Banos km 1 1/2, reparto Lourdes, Boyeros, Ciudad de la Habana. Email: vrobles@uci.cu

Anthony R. Sotolongo, Msc, Profesor Asistente. Dpto de PostgreSQL, Universidad de las Ciencias Informaticas, Cuba, carretera San Antonio de los Banos km 1 1/2, reparto Lourdes, Boyeros, Ciudad de la Habana. E-mail: asotolongo@uci.cu

REFERENCIA BIBLIOGRAFICA

Chesnevar, C. I. (2009). datamining y aprendizaje automatizado. obtenido de http://cs.uns.edu.ar/~cic/dm2009/downloads/transparencias/05_dm%20(learning_rules). pdf

Haberstroh, R. (2008). Oracle [R] data mining tutorial for Oracle Data Mining 11g Release 1, Oracle.

Heughes Escobar, V. (2007). Mineria web de uso y perfiles de usuario: aplicaciones con logica difusa. tesis de doctorado, Universidad de Granada.

Holte, R. C. (1993). Very simple classification rules perform well on most commonly used datasets, Machine Learning, 11, 63-91, Kluwer Academic Publishers, Boston

Maclennan, J., Tang, Z., & Crivat, B. (2009). Data mining with Microsoft SQL server 2008. Wiley Publishing, Inc., Indianapolis, Indiana.

Martinez Valenzuela, V. Et al. (octubre de 2007). Diseno experimental. Universidad Autonoma de Baja California, obtenido de http://www.slideshare.net/hayimemaishte/diseo-experimental

Molina Lopez, J. M., & Garcia Herrero, J. Tecnicas de analisis de datos. Universidad Carlos III. Madrid. 4-5

Moreno, G. (octubre de 2007). Recuperado el enero de 2012, de http://gamoreno.wordpress.com/2007/10/03/tecnicas-mas-usadas-en-la-mineria-de datos/

Omar Ruiz, S. B. , Bauz. Sergio, Jimenez, Maria (2009). Aplicacion de mineria de datos para deteccion de patrones en investigaciones biotecnologicas. ESPOL, Ecuador http://www.dspace.espol.edu.ee/handle/123456789/4719

PostgreSQL. (12 de septiembre de 2011), The PostgreSQL Global Development Group obtenido de http://www.postgresql.org/about/press/presskit91/es/

Rodriguez Suarez, Yuniet; Diaz Amador, Anolandy. (2011) Herramientas de mineria de datos. Revista Cubana de Ciencias Informaticas, [S.l.], v. 3, n. 3-4, oct.. ISSN 22271899. Disponible en: http://rcci.uci.cu/index.php/rcci/article/view/78.

Solarte Martinez, G. R. (2009). tecnicas de clasificacion y analisis de representacion del conocimiento para problemas de diagnostico. recuperado el diciembre de 2011, de http://www.utp.edu.co/php/revistas/scientiaettechnica/docsftp/222025177-182.pdf

Soto Jaramillo, C. M. (2009). Incorporacion de tecnicas multivariantes en un sistema gestor de bases de datos. Universidad Nacional de Colombia http://www.bdigital.unal.edu.co/895/1/71335481 2009.pdf

The PostgreSQL global development group. (2011). PostgreSQL 9.1.0 documentation.

U Fayyad, G. P.-S. (1996). data mining and knowledge discovery in databases: an overview, communications of acm. obtenido de http://dl.acm.org/citation.cfm?id=240464

V. Ramesh, P. P. (agosto de 2011). Performance analysis of data mining techniques for placement chance prediction. recuperado el diciembre de 2011, de http://www.iiser.org/researchpaper%5cperformance-analvsis-of-data-miningtechniques-for-placement-chance-prediction.pdf

Vazquez Ortiz, Y., Mesa Reyes, Y., & Castillo Martinez, g. (2012). Comunidad tecnica cubana de PostgreSQL: Arma para la migracion del pais a tecnologias de bases de datos de codigo. Uciencia.

(1) Dr Roberto Hernandez Sampieri Director del Centro de Investigacion de la Universidad de Celaya y profesor en el Instituto Politecnico Nacional

Tabla 1--Operacionalizacion de las variables independientes

Variable       Tipo de         Operacionalizacion     Categorias
               variable

cantidad de    Independiente   Cantidad de filas      --100002
registros                      que posee la tabla     --500010
                               que sera analizada.    --1000020

Herramienta    Independiente   Herramienta            --Weka
                               utilizada para         -PostgreSQL
                               aplicar la mineria     (Algoritmos
                               de datos               integrados al
                                                      SGBD)

Particionado   Independiente   Si la tabla a la que   --Particionado
                               se van a aplicar los   --No
                               algoritmos de          particionado
                               mineria de datos
                               esta o no
                               particionada

Tabla 2--Operacionalizacion de las variables dependientes

Variable                          Unidad de medida

Tiempo de respuesta        Intervalo de tiempo (segundos)

Resultados del algoritmo   Grado de acuerdo (si o no)

Tabla 3--Resultado de la manipulacion de la variable cantidad de
registros para el algoritmo 1R

cantidad de registros   Weka (1R)   PostgreSQL(1R)

       100002             11,13          1,5
       500010             17,24          8,18
       1000020             --           16,43

Tabla 4--Resultado de la manipulacion de la variable cantidad de
registros para el algoritmo PRISM

cantidad de registro   Weka(PRISM)   PostgreSQL(PRISM)

       100002             11,33            10,1
       500010             3600             94,7
      1000020              --             219,45

Tabla 5: Resultado de la manipulacion de la variable cantidad de
registros para el algoritmo ID3

Cantidad de registro   Weka (ID3)   PostgreSQL(ID3)

       100002             7,42           2,58
       500010            23,78           14,36
      1000020              --            41,19

Tabla 6--Resultados de la relacion entre la cantidad de registros
y los resultados para el algoritmo 1R

Cantidad de registro   Weka (1R)   PostgreSQL(1R)

       100002             Si             Si
       500010             Si             Si
      1 000020            No             Si

Tabla 7--Resultados de la relacion entre la cantidad de registros
y los resultados para el algoritmo PRISM

Cantidad de registro   Weka(PRISM)   PostgreSQL(PRISM)

       100002              Si               Si
       500010              No               Si
      1000020              No               Si

Tabla 8--Resultados de la relacion entre la cantidad de registros
y los resultados para el algoritmo ID3

Cantidad de registro   Weka (ID3)   PostgreSQL(ID3)

       100002              Si             Si
       500010              Si             Si
      1000020              No             Si
COPYRIGHT 2013 TECSI - FEA - USP
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2013 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Author:Aranda, Yadira Robles; Sotolongo, Anthony R.
Publication:Journal of Information Systems & Technology Management
Date:May 1, 2013
Words:5285
Previous Article:A critical review of knowledge management in software process reference models.
Next Article:The impact of IT governance on IT projects--the case of the Ghana Rural Bank computerization and inter-connectivity project.
Topics:

Terms of use | Privacy policy | Copyright © 2019 Farlex, Inc. | Feedback | For webmasters