Sie sind auf Seite 1von 7

TCA2012

Algoritmos de minera de datos: rboles de


decisin y reglas de induccin integrados a
PostgreSQL
Autores: Ing. Yadira Robles Aranda, MSc. Anthony Rafael Sotolongo, Ing. Edgar Rojas

Resumen

En la presente investigacin se analiz de las


tcnicas de minera de datos la de rboles de decisin y la de
reglas de induccin para integrar varios de sus algoritmos al
sistema gestor de base de datos (SGBD) PostgreSQL, debido a las
deficiencias de las herramientas libres existentes. Tambin se
propuso un mecanismo para optimizar el rendimiento de los
algoritmos implementados con el objetivo de aprovechar las
ventajas de PostgreSQL y se comprob mediante un experimento,
que al utilizar los algoritmos integrados al gestor, los tiempos de
respuestas y los resultados obtenidos son superiores.
Palabras Clave rboles de decisin, minera de datos,
PostgreSQL, reglas de induccin, sistema gestor de bases de
datos.

I. INTRODUCCIN
La informatizacin de las empresas, organizaciones e
instituciones ha generado un gran incremento de la
informacin almacenada en las bases de datos, la cual es de
gran utilidad cuando se quiere explicar el pasado, entender el
presente y predecir la informacin futura, por lo que se hace
necesario analizar la misma para la obtencin de informacin
til para la organizacin.
Anteriormente estos anlisis se realizaban manualmente
mediante tcnicas estadsticas, sin embargo esta forma de
actuar es lenta, cara, altamente subjetiva y con el incremento
del volumen de datos es prcticamente imposible el anlisis sin
la ayuda de herramientas o tcnicas potentes.
Una de las tcnicas ms usadas para obtener conocimiento
analizando los datos presentes en las bases de datos es la
minera de datos, que permite obtener patrones o modelos a
partir de los datos recopilados. Esta tcnica se aplica en todo
tipo de entornos, como por ejemplo en la rama biolgica, en
aplicaciones educacionales, financieras, procesos industriales,
policiales y polticas.
Dentro de la minera de datos existen diversas tcnicas
entre las cuales se encuentran la de induccin de reglas y
rboles de decisin, las cuales segn
diversos estudios
realizados se encuentran entre las ms utilizadas. (Moreno,
2007) (Heughes Escobar, 2007)
Para la aplicacin de estas tcnicas existen numerosas
herramientas independientes del sistema gestor de bases de
datos que permiten aplicarlas a grandes volmenes de datos,
sin embargo, la mayora de stas son propietarias como SPSS
Clementine, SAS Enterprise Miner y MATLAB las cuales no
estn al alcance de las organizaciones cubanas ya que son
altamente costosas y otras como WEKA o YALE Rapid Miner

que a pesar de que son bajo licencia GPL es necesario


conectarse al sistema gestor de bases de datos y cuando existe
una gran cantidad de datos a analizar el proceso se vuelve
engorroso y lento. (Soto Jaramillo, 2009) Adems se debe
garantizar la seguridad de los datos pues la informacin viaja a
travs de la red. Otra alternativa que propone weka es
convertir los datos a la extencin arff pero ante cualquier
actualizacin de los datos de la bases de datos sera necesario
volverlos a convertir Para darle solucin a estos problemas en
la actualidad algunas empresas como Microsoft y Oracle han
desarrollado mdulos dentro de sus sistemas gestores de bases
de datos que tienen incluido las tcnicas de minera de datos,
lo que les permite ganar en rapidez en los tiempos de respuesta
ya que no sera necesario transformar datos sin formato en
informacin procesable (preparacin de los datos) o
importacin o vinculacin con la herramienta encargada de
hacer el anlisis, se evita tener que contar con personal
preparado en otras herramientas de anlisis de datos, 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 tienen el inconveniente de ser propietarios.
Actualmente Cuba est inmersa en migrar a software de
cdigo abierto con el objetivo de garantizar la seguridad
nacional y lograr la independencia tecnolgica en el pas. Una
de las tareas para lograr este objetivo es la migracin a la
tecnologa de bases de datos PostgreSQL debido a que es el
SGBD de cdigo abierto ms avanzado del mundo ya que
soporta la gran mayora de las transacciones SQL, control
concurrente, y permite agregar extensiones. (Vazquez Ortz,
Mesa Reyes, & Castillo Martnez, 2012) (The PostgreSQL
Global Development Group, 2011) Sin embargo este sistema
no tiene integrado estas tcnicas de minera de datos.
Por lo cual es necesario lograr la independencia del
sistema gestor de base de datos PostgreSQL para analizar los
datos mediante las tcnicas de minera de datos reglas de
induccin y rboles de decisin.
II. MATERIALES Y MTODOS
Durante el desarrollo del presente trabajo los mtodos
cientficos de investigacin que fueron utilizados son:
Histrico-lgico: permiti realizar un estudio
de para definir las tendencias actuales de las tcnicas
de minera de datos y las herramientas utilizadas
para la aplicacin de estas.

TCA2012

Hipottico deductivo: gracias a este mtodo se


logr a partir de la hiptesis definida y siguiendo
reglas lgicas de deduccin se llego a conclusiones,
las que posteriormente son validadas.
Analtico-sinttico: Este mtodo permiti
analizar la informacin y arribar a conclusiones en la
investigacin.
Experimento: Con el empleo de este mtodo se
logr la evaluacin de la solucin propuesta
determinando las relaciones entre las variables.

III. RESULTADOS Y DISCUSIN


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

Figura 2: Cdigo del algoritmo 1R en el lenguaje


Pl/pgsql.
Algoritmo PRISM
El algoritmo PRISM es un algoritmo de cubrimiento
sencillo que asume que no hay ruido en los datos. El objetivo
de este es ir creando reglas perfectas que maximicen p/t
siendo p la cantidad de ejemplos positivos cubiertos por la
regla y t la cantidad de ejemplos cubiertos por la regla.
(Chesevar, 2009)
Este algoritmo tiene como caracterstica que va eliminando
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 1: Pseudocdigo del algoritmo 1R


La implementacin del algoritmo 1R se realiz utilizando el
pseudocdigo mostrado en la figura 1. Esta funcin slo
permite trabajar con tablas que tengan atributos nominales y en
la misma no debe haber atributos con valores desconocidos
para obtener el resultado deseado.
La funcin toma como entrada el nombre de la tabla y la
clase sobre la cual se va a realizar el anlisis y se devuelve
como resultados un conjunto de reglas para los atributos con la
menor cantidad de errores.
A continuacin se muestra un fragmento de la funcin
implementada.

Figura 3: Pseudocdigo del algoritmo PRISM


La implementacin de algoritmo PRISM se realiz
utilizando el pseudocdigo de la figura 3, nicamente permite
atributos nominales y no puede haber atributos con valores
desconocidos para obtener el resultado deseado.
La funcin toma como entrada el nombre de la tabla y la
clase sobre la cual se va a realizar el anlisis y se devuelve
como resultados un conjunto de reglas las cuales se deben
interpretar en el orden en que aparecen como estipula el
algoritmo.
A continuacin se muestra un fragmento de la funcin
implementada en la figura 4.

TCA2012

Figura 4: Cdigo del algoritmo PRISM en el lenguaje


Pl/pgsql
Algoritmo ID3
El ID3 fue propuesto por J. R Quinlan en 1986, este es un
algoritmo simple y, a la vez potente, cuya misin es la
elaboracin de un rbol de decisin como un mtodo para
aproximar una funcin objetivo de valores discretos, que es
resistente al ruido en los datos y que es capaz de hallar o
aprender de una disyuncin de expresiones.
Para la construccin del rbol el algoritmo utiliza el anlisis
de la entropa, la teora de la informacin (basada en la
entropa) y la ganancia de informacin.

Figura 6: Cdigo del algoritmo ID3 en el lenguaje


Pl/pgsql
Mecanismo para optimizar el rendimiento de los algoritmos
implementados.
Generalmente las tablas sobre la cuales se realizan anlisis
de minera de datos cuentan con un gran volumen de
informacin, lo cual 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 para
obtener un mejor desempeo a la hora de consultar dichas
tablas.
El particionado de tablas es una tcnica que consiste en
descomponer una enorme tabla (padre) en un conjunto de
tablas hijas. Esta tcnica trae como resultado reducir la
cantidad de lecturas fsicas a la base de datos cuando se
ejecutan las consultas.
En PostgreSQL los tipos de particionado existentes son por
rango y lista. (The PostgreSQL Global Development Group,
2011)

Figura 5: Pseudocdigo del algoritmo ID3


La implementacin de algoritmo ID3 se realiz utilizando el
pseudocdigo de la figura 5. nicamente permite atributos
nominales y no puede haber atributos con valores
desconocidos para obtener el resultado deseado.
La funcin toma como entrada el nombre de la tabla y la
clase sobre la cual se va a realizar el anlisis y se devuelve
como resultados un conjunto de reglas derivadas del rbol de
decisin.
A continuacin se muestra un fragmento de la funcin
implementada (ver figura 6).

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 investigacin se implementa una funcin que
permite realizar el particionado de la tabla segn los valores de
la clase (particionado por lista). Lo cual permite agilizar la
bsqueda a la hora de clasificar.
La funcin tiene como parmetro de entrada la tabla a la que
se le desea hacer las particiones y el nombre de la clase,
crendose tantas particiones como valores tenga la clase. (Ver
figura 7).

TCA2012
Las tablas creadas por la funcin tendrn como nombre la
concatenacin de mster ms el antiguo nombre de la tabla
para el caso de la tabla padre y para las hijas es la
concatenacin del antiguo nombre de la tabla ms el valor de
la clase por la cual se creo la particin.

En el archivo mineria_datos.control creado para agregar


la extensin donde se cargaran las funciones de los algoritmos
implementados se definieron los siguientes parmetros:
comment: una breve descripcin sobre el
contenido de la extensin creada.
Encoding: El tipo de codificacin utilizado.
default_version: La versin de la extensin
relocatable: Si se puede
schema: El esquema dnde se almacenarn los
objetos creados por la extensin.

Figura 8: Archivo que contiene las caractersticas de la


extensin.

Figura 7 Cdigo de la funcin para crear particiones en


el lenguaje Pl/pgsql.

Una vez definido en el archivo mineria_datos.control se


especifica el archivo que contendr el cdigo de las funciones
desarrolladas mineria_datos--1.0.sql

Integracin de los algoritmos al SGBD PostgreSQL.


A partir de la versin 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
estn separados en su base de datos, se tendr la extensin
como un paquete que contendr todos los objetos definidos en
ella, lo cual 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
extensin, adems se cuenta con un repositorio para obtener
extensiones y contribuir con estas (http://pgxn.org/).
La integracin de los algoritmos implementados con el
SGBD se va a realizar mediante la creacin de una extensin
por las ventajas que PostgreSQL brinda para su creacin.
Creacin de la extensin minera de datos
Para la creacin de la extensin se crean dos archivos, en el
primero se definen las caractersticas de la extensin y en el
segundo los objetos SQL que se desean agregar. Los mismos
deben ser ubicados dentro del directorio de la instalacin
C:\Archivos de programa\PostgreSQL\9.1\share\extension

Figura 9: Archivo que contiene el cdigo los objetos


definidos en la extensin.

Trabajo con la extensin de minera de datos.


Para que los usuarios puedan utilizar la extensin de minera
de datos simplemente deben ejecutar el comando CREATE
EXTENSION mineria_datos que cargar la extensin y para
consultar las funciones agregadas por la extensin se debe
consultar en el esquema pg_catalogo la carpeta de funciones
Diseo del experimento.
Un experimento se realiza generalmente con el objetivo de
validar una hiptesis en el cual se busca establecer relaciones
entre los diferentes factores, analizando si una o ms variables
independientes afectan a una o ms variables dependientes y
por qu lo hacen.
Roberto Hernndez Sampieri1 define como experimento a
"un estudio de investigacin en el que se manipulan
1

Dr Roberto Hernndez Sampieri Director del Centro de


Investigacin de la Universidad de Celaya y profesor en el
Instituto Politcnico Nacional

TCA2012
deliberadamente una o ms variables independientes
(supuestas causas) para analizar las consecuencias que la
manipulacin tiene sobre una o ms variables dependientes
(supuestos efectos), dentro de una situacin de control para el
investigador". (Martnez Valenzuela, 2007)
El primer paso para disear un experimento es definir las
variables independientes y las variables dependientes.
La variable independiente es aquella que identifica la
causa en una relacin entre variables y la dependiente expresa
el efecto que puede causar una variacin en la variable
independiente.
En este caso se definieron como variables independientes
la cantidad de registro y la herramienta utilizada para aplicar la
minera de datos. Como variables dependiente se identificaron
el tiempo de respuesta y el resultado de los algoritmos.
Luego de haber definido las variables se define la
operacionalizacin o definicin operacional que es especificar
la manera en que se manipularn las variables independientes,
es decir qu se va a entender por esa variable en el
experimento.
Los niveles de la variable cantidad de registro sern bajos,
medios y altos. En el primer caso las tablas a analizar tendrn
una cantidad total de 100002 registros, en el segundo 500000
y en el tercer caso 1 000000.
En la variable herramienta las modalidades son Weka y
PostgreSQL donde en el primer caso se realizarn los anlisis
de los algoritmos mediante el uso de la herramienta Weka y en
el segundo caso se utilizar los algoritmos integrados al SGBD
PostgreSQL desarrollados por el autor de la investigacin.
El cuarto paso es definir cmo se van a medir las variables
dependientes.la variables del tiempo de respuesta se va a
medir por intervalos de tiempo en segundos y en el caso de
los resultados del algoritmo en grado de acuerdos (si o no).
Para un mejor entendimiento del diseo del experimento se
resume en las tablas 1 y 2 la definicin operacional.
Tabla 1: Operacionalizacin de las variables
independientes.

Tabla 2 Operacionalizacin de las variables


dependientes.

Aplicacin del experimento


Para el entorno del experimento se seleccion una PC
Haier con Procesador Intel Celeron 2000 MHz, una memoria
RAM de 1024 MB y un disco duro de 120 Gb. Adems se
cuenta con el servidor de PostgreSQL 9.1, la herramienta
PgAdminIII y Weka 3.6.7. Esta ltima fue seleccionada para la
comparacin ya que segn el estudio realizado en el artculo
Herramientas de Minera de Datos publicado en la revista
RCCI es la herramienta libre ms conocida y utilizada.
Relacin de la variable cantidad de registro con el tiempo de
resultado.
En este primer caso se va a realizar un estudio de cmo 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
que se establece la consulta para cargar los datos de la BD
hasta que la herramienta brinda el resultado del algoritmo.
Para la realizacin de este experimento se va a utilizar la
opcin de la herramienta Weka de conectarse a la BD
PostgreSQL.
Tabla 3: Resultado de la manipulacin de la variable
cantidad de registros para el algoritmo 1R.

En la tabla nmero 3 se puede observar que a medida que se


fue incrementando la cantidad de registros los tiempos de
anlisis para el algoritmo 1R aumentaron, y en el caso de la
herramienta Weka los tiempos de respuestas resultaron
superiores con respecto al anlisis realizado mediante los
algoritmos integrados al SGBD PostgreSQL. Para la categora
o nivel de 1000020 registros, los anlisis no se pudieron
efectuar con la herramienta Weka ya que esta da error debido a
la gran cantidad de datos.
Para una mayor comprensin de la informacin de la tabla 3
se representa la grfica de la figura 10.

TCA2012

Validacin del mecanismo de particionado


Para validar que el particionado de tabla propuesto en el
epgrafe 2.4 mejora el rendimiento de los algoritmos se va a
crear particiones en la tabla prueba_d la cual cuenta con
8000160 registros.

Figura 10: Resultados de la variable cantidad de


registros para el 1R

Relacin de la variable cantidad de registro con la respuesta


del algoritmo.
En el caso nmero 2 se analiza cmo se comporta la
variable resultado de los algoritmos cuando se manipula la
cantidad de registros a los que se le va a realizar el anlisis.
Tabla 4: Resultados de la relacin entre la cantidad de
registros y los resultados para el algoritmo 1R.

Figura 11: Particionado de la tabla prueba_c


Como resultado del particionado se obtiene 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 la el algoritmo 1R integrado al SGBD
PostgreSQL sin crear particiones la el tiempo de respuesta es
de 174,184 segundos y luego de haber particionado 149,98
segundo.
En la figura 20 se observa como el anlisis en la tabla
particionado por el valor de la clase es menor que en la tabla
normal quedando demostrado que el mecanismo de
particionado de datos agiliza el resultado del algoritmo 1R.

Tabla 5: Resultados de la relacin entre la cantidad de


registros y los resultados para el algoritmo PRISM.

Tabla 6: Resultados de la relacin entre la cantidad de


registros y los resultados para el algoritmo ID3.

Figura 12: Comparacin de los resultados de los anlisis en


tablas particionada y sin particionar
IV. CONCLUSIONES

Con los resultados de las tablas 4, 5 y 6 se puede decir que


a medida que se incrementaron las cantidades de registro se
dificult el anlisis de los datos con la herramienta Weka.

De los resultados obtenidos en esta tesis se puede decir que


las tcnicas de minera de datos rboles de decisin y reglas de
induccin permiten obtener como resultado final reglas las
cuales por sus caractersticas son unas de las formas de
representar ms divulgados y una de la ms compresivas de
entender por las personas.
Adems se pudo evidenciar que las herramientas libres
existentes de minera de datos tiene el inconveniente de ser
independientes del SGBD por lo cual se implementaron tres
algoritmos de las tcnicas de clasificacin y se integraron al

TCA2012
SGBD PostgreSQL lo que contribuye a la soberana
tecnolgica del pas y a que el gestor sea ms competitivo.
En la investigacin tambin se desarroll una funcin que
permite aprovechar uno de los mecanismos de optimizacin
del gestor para mejorar los resultados de respuesta del los
algoritmos implementados.
Se realiz la validacin de los algoritmos implementados
utilizando un diseo de experimento en el cual se observ que
los tiempos de anlisis de los algoritmos integrados al SGBD
son menores que los resultados de la herramienta Weka.

REFERENCIAS
Chesevar, C. I. (2009). Datamining y aprendizaje
automatizado. Obtenido de
http://cs.uns.edu.ar/~cic/dm2009/downloads/transparencias/05
_dm%20(Learning_rules).pdf
Heughes Escobar, V. (2007). Minera Web de Uso y perfiles
de Usuario:Aplicaciones con Lgica Difusa. Tesis de
Doctorado .
HOLTE, R. C. (1993). Very Simple Classification Rules
Perform Well on Most Commonly Used Datasets. Machine
Learning .
Martnez Valenzuela, V. (octubre de 2007). Diseo
Experimental. Obtenido de
http://www.slideshare.net/hayimemaishte/diseo-experimental

Moreno, G. (octubre de 2007). Recuperado el enero de 2012,


de http://gamoreno.wordpress.com/2007/10/03/tecnicas-masusadas-en-la-mineria-de-datos/
PostgreSQL. (12 de SEPTIEMBRE de 2011). Obtenido de
http://www.postgresql.org/about/press/presskit91/es/
Soto Jaramillo, C. M. (2009). INCORPORACIN DE
TCNICAS MULTIVARIANTES EN UN SISTEMA
GESTOR DE BASES DE DATOS.
The PostgreSQL Global Development Group. (2011).
PostgreSQL 9.1.0 Documentation.
Vzquez Ortz, Y., & Castillo Martnez, G. (2011). Propuesta
de un plan de capacitacin para la preparacin y futura
certificacin en PostgreSQL. Revista Cubana de Ciencias
Informticas .
Vazquez Ortz, Y., Mesa Reyes, Y., & Castillo Martnez, G.
(2012). COMUNIDAD TCNICA CUBANA DE
POSTGRESQL: ARMA PARA LA MIGRACIN DEL PAS
A TECNOLOGAS DE BASES DE DATOS DE CDIGO.
UCIENCIA.