“Herramienta software para implementar minería de datos: clusterización utilizando lógica difusa”
SANABRIA GARZÓN J. Ingeniería de Sistemas
(Recibido: Abril 4 de 2004 - Aceptado: Mayo 31 de 2004)
R E S U M E N
La minería de datos se ha convertido en un área de investigación y desarrollo, desde la cual se proponen técnicas que apuntan a encontrar el conocimiento oculto en grandes colecciones de datos. Estos datos contienen información valiosa, que puede ser usada para mejorar la competitividad de las instituciones dueñas de la información.
La información por descubrir puede tener muchas formas, entre ellas reglas asociativas o grupos de conjuntos denominados (Cluster), si a esto se le suma la capacidad que tiene la lógica difusa de romper con el principio del tercero excluido y permitir la pertenencia de un elemento a varios Cluster, se tiene una metodología útil a la hora de clasificar en grupos el contenido de las bases de datos.
En el presente artículo se presenta la implementación del algoritmo denominado C-Means para la agrupación de datos en conjuntos difusos, como técnica de minería de datos, esta técnica se implementó en el programa SM2D 1.2 Beta (Software Minería Datos Difusa), y se presenta como ejemplo el análisis del rendimiento académico de la asignatura fisiología vegetal.
Palabras Claves: Bases de Datos (BD), Conjuntos Difusos, Cluster, C- Means, Minería de Datos.
A B S T R A C T
The data mining has become an investigation and development area, in which are intending technicals that point to find the hidden information in a huge data. These data contain valuable information that can be used to improve the competitiveness of institutions owners of these data.
The information to discover can have many forms, among them associative rules or groups of denominated sets (Cluster), if to this we add the capacity that has the Fuzzy Logic of breaking up with the third excluded principle and to allow the relevancy from an element to several Cluster, we have a quite useful methodology when classifying in sets the content of the databases.
In this paper is shown the implementation of an algorithm denominated C -Means for the grouping of data in fuzzy sets, this it has been implemented with the development of a denominated program (Software Mining Data Fuzzy) SM2D 1.21.0 Beta.
Key words: Data Bases (BD), Fuzzy Sets, Cluster, C-Means, Data Mining.
I N T R O D U C C I Ó N
Considerando que el conocimiento puede ser visto como una abstracción a un nivel de información encima de los datos, existe la necesidad de áreas de estudio dentro de la computación que traten este asunto como el llamado Aprendizaje de Máquina, el surgimiento de la minería de datos es una forma de conseguir la información oculta que presentan los datos, la mayoría de las veces almacenados en grandes bases de datos, denominadas bodegas de datos.
La lógica difusa es una rama de la inteligencia artificial que permite analizar la información del mundo real en una escala entre falso y verdadero. Los matemáticos dedicados a la lógica definieron un concepto clave: “Todo es cuestión de grado”, los sistemas difusos son una nueva alternativa a las nociones de pertenencia y Lógica clásicos [3].
El presente trabajo se centra en la utilización de un algoritmo en el desarrollo de una tarea clásica de minería de datos como es la de agrupamiento, saliendo de las tendencias estadísticas y manuales con la que se ha estado haciendo, el principal objetivo de este es utilizar un algoritmo fuzzy C-means para ayudar a solucionar el problema de asignación estática de patrones a una clase específica, esto es muy común en aplicaciones reales donde no se puede modelar el mundo solamente con una agrupación estática, y se necesita también manejar información borrosa, para mejorar el análisis e interpretación de la información encontrada, para la generación de conocimiento y apoyo a la toma de decisiones.
CONJUNTOS - CLÁSICOS
Se toman algunos aspectos de la teoría de conjuntos convencionales (Conjuntos Concretos), y a partir de allí se hace una extensión a los conjuntos difusos:
Un conjunto concreto se define como una colección de elementos que existen dentro de un Universo. Así, sí el universo consta de los números enteros no negativos meno res que 10:
U={0,1,2,3,4,5,6,7,8,9}
Entonces podemos definir algunos conjuntos como, por ejemplo:
A={0,2,4,6,8} B={1,3,5,7,9}
Con estas definiciones se establece que cada uno de los elementos del Universo pertenecen o no a un determinado conjunto. Por lo tanto, cada conjunto puede definirse completamente por una función de pertenencia, que opera sobre los elementos del Universo, y que le asigna un valor de 1 si el elemento pertenece al conjunto, y de 0 si no pertenece. (Figura 1)
Tomando un conjunto C que está compuesto por los números pares definidos dentro del universo U, su función de pertenencia uC (x) sería de la siguiente forma:
Figura 1: Ejemplo de Conjuntos Clásicos.
CONJUNTOS - DIFUSOS - (Fuzzy - Sets)
Un Conjunto Difuso se define de forma similar, con una diferencia conceptual importante: un elemento puede pertenecer parcialmente a un conjunto. De esta forma, un conjunto difuso D definido sobre el mismo universo U puede ser el siguiente:
D={20%/1,50%/4,100%/7}
Esta definición significa que el elemento 1 pertenece en un 20% al conjunto D (y por tanto pertenece en un 80% al complemento de D), en tanto que el elemento 4 pertenece en un 50%, y el elemento 7 en un 100%.
En forma alternativa, se dice que la función de pertenencia uD(x) del conjunto D es la siguiente:
u D (0)=0.0, u D (1)=0.2, uD (2)=0.0, uD (3)=0.0, uD (4)=0.5, u D (5)=0.0, u D (6)=0.0, uD (7)=1.0, uD (8)=0.0, uD (9)=0.0
Algunas de las diferencias entre los Conjuntos Concretos y los Conjuntos Difusos son las siguientes:
Ejemplo:
Supóngase que se desea clasificar a los miembros de un equipo de fútbol según su estatura en tres conjuntos, Bajos, Medianos y Altos.
Como ejemplo podría plantearse que se es Bajo si se tiene una estatura inferior a 160 cm. que se es Mediano, si la estatura es superior o igual a 160 cm. e inferior a 180 cm., y se es alto si la estatura es superior o igual a 180 cm., con lo que se lograría una clasificación en Conjuntos Concretos.
Sin embargo, ¿qué tan grande es la diferencia que existe entre dos jugadores del equipo, uno con estatura de 179.9 cm. y otro de 180.0 cm?
Ese milímetro de diferencia quizás no represente en la práctica algo significativo, y sin embargo los dos jugadores han quedado rotulados con etiquetas distintas: uno es Mediano y el otro es Alto. Si se optase por efectuar la misma clasificación con conjuntos difusos estos cambios abruptos se evitarían, debido a que las fronteras entre los conjuntos permitirían cambios graduales en la clasificación.
Un jugador con 163 cm. de altura tendría un valor de pertenencia al conjunto denominado Bajo (0.8) y un valor de pertenencia al conjunto denominado Mediano (0.2). (Figura 2).
Figura 2: Ejemplo de Conjuntos Difusos
MINERÍA - DE - DATOS - (Data - Mining)
Definición de descubrimiento de conocimiento en bases de datos:
“… es el proceso no trivial de identificar patrones en datos que sean válidos, novedosos, potencialmente útiles y, por último, comprensibles… [6]”
Algunos autores definen la minería de datos como:
“… un paso esencial en el proceso de descubrimiento de conocimien to en Bases de datos… [7] “
“... se refiere al acto de extraer patrones o modelos a partir de los datos... [6]”
La minería de datos, consiste en la extracción de información oculta y predecible de grandes bases de datos, es una metodología que sirve para ayudar a las compañías e instituciones a concentrarse en la información más importante de sus bases de información.
Se ha convertido en una herramienta de toma de decisiones frente a las metodologías clásicas, es así como productos comerciales de Sistemas Manejadores de Bases de Datos (SMBD) de grandes compañías productoras de software ya implementan algoritmos de minería de datos y hasta permiten la implementación de propios.
Los algoritmos de minería de datos exploran las bases de datos en busca de patrones ocultos, encontrando información que un experto humano difícilmente encontraría, estableciendo relaciones y patrones de los cuales las empresas pueden obtener grandes beneficios.
Una idea general de lo que intenta la minería de datos es describir el contenido de las colecciones de información para predecir el comportamiento del sistema.
Algunas de las tareas que se pueden realizar aplicando algoritmos de minería de datos son:
En minería de datos se utilizan diversas técnicas para realizar tareas en grandes conjuntos de datos, este enfoque multidisciplinario combina áreas como la estadística, el aprendizaje de máquina, tecnologías difusas, redes neuronales, algoritmos genéticos y demás. [1]
Una representación frecuente de un proceso típico de descubrimiento de conocimiento en bases de datos, contempla los siguientes pasos [6]:
CLUSTERIZACIÓN: - Minería - de - Datos - Difusa
El propósito de la agrupación de datos (clustering), es la de segmentar la información de acuerdo con unos criterios definidos de similitud, de cumplimiento de características o patrones, de esta manera se generan conjuntos denominados Cluster, estos por lo general son de tipo clásico, dentro de los objetivos de este trabajo está el de generar Cluster de tipo difuso, que interpreten de mejor manera el mundo real, además que el análisis de respuesta con la interpretación de la agrupación apunte a la elaboración de estrategias para el mejoramiento del sistema.
La tarea de segmentación de datos en grupos autodefinidos cuyos rangos y medias son hallados automáticamente por la aplicación, se basan en la dispersión difusa de los mismos datos utilizando un método de agrupación difusa, de especial interés para el presente trabajo, es el algoritmo de agrupación (Fuzzy C-Means) [2], existen diversas aplicaciones de agrupación difusa [9].
Este algoritmo asigna un conjunto de datos, caracterizados por sus respectivos valores de atributos, a un número determinado de conjuntos. Como resultado cada dato tiene un grado de pertenencia a cada conjunto, representada por su centro de conjunto, básicamente el algoritmo se realiza aplicando los siguientes cuatro pasos:
En la aplicación desarrollada se ha realizado la segmentación de datos utilizando la llamada agrupación difusa (fuzzy clustering), y selección automática de atributos, para aumentar las tasas de respuesta.
Además del cambio de utilización del algoritmo, se ignora el criterio de detención y se opta por el manual, siendo el usuario final de la aplicación quien aplica el criterio de detección.
Paso 1: Inicialización.
Esta matriz se inicializa en forma aleatoria con la siguiente restricción:
Donde:
Paso 2: Cálculo de Centros de Conjunto.
Dados los valores de pertenencia mij los centros Vi de cada conjunto i están dados por:
Donde:
Paso 3: Actualización de valores de pertenencia.
Dados los centros de conjunto calculados en el paso 2, los valores de pertenencia m(i,j) son actualizados utilizando la siguiente fórmula:
Donde:
Paso 4: El Criterio de Detención
Los pasos 2 y 3 se repiten en forma iterativa hasta cumplir con el siguiente criterio de detención:
Donde:
En el algoritmo C-Means el umbral ha de ser determinado por el usuario, pero en la aplicación desarrollada es omitido para permitir el número máximo de iteraciones posibles logrando con esto un alto grado de solución difusa.
APLICACIÓN-PRÁCTICA
La metodología planteada puede utilizarse para analizar la información en bases de datos de cualquier tipo de entidad (empresa, institución, universidad, etc.). Se ha tomado como sistema de muestra y pruebas el sistema de información del rendimiento académico de los estudiantes de la Universidad de los Llanos (Villavicencio, Meta, Colombia), en la cual se consigna la información personal de cada estudiante de las diferentes carreras, además de sus respectivas notas definitivas en cada una de las materias que componen el plan académico.
Para presentar en este artículo se ha decidido dividir el problema en subproblemas de menor tamaño para facilitar el entendimiento del mismo. La implementación de la aplicación en el sistema general de ejemplo es similar.
Se desea clasificar en cinco grupos (Excelente, Bueno, Medio, Malo, Deficiente) el rendimiento académico de los estudiantes de Ingeniería Agronómica de la Universidad de los Llanos que han cursado la materia “Fisiología Vegetal”, la cual hace parte del sexto semestre del plan de estudios del programa.
El filtro SQL (Structured Query Language), para el ejemplo es: “SELECT nota FROM tagronomia WHERE codmateria = 10611 ORDER BY nota;”
corresponde a las notas de los estudiantes de Ingeniería Agrónomica en la materia “Fisiología Vegetal” con código 10651, hasta el primer periodo académico del año 2003:
Especificación de parámetros
Análisis de Resultados
A continuación se presenta un ejemplo detallado de los resultados obtenidos
Ejemplo: Los 5 conjuntos pueden considerarse como rendimientos de tipo (Excelente, Bueno, Medio, Malo, Deficiente) según las notas obtenidas por los estudiantes y el centro de cada conjunto.
Tabla 1. Centros de conjuntos obtenidos
Tabla 2. Etiquetas de conjuntos
Tabla 3. Algunos Resultados
Análisis Gráfico (Figura 3)
Figura 3. Representación gráfica de los conjuntos obtenidos.
OBSERVACIONES
La interpretación del gráfico obtenido puede ser de la siguiente manera:
Los resultados arrojados por la aplicación se sometieron a un análisis riguroso para así determinar estrategias a seguir en el estudio del área.
Para este ejemplo la toma de decisiones para las estrategia de mejoramiento y seguimiento académico de los estudiantes es definida por el Consejo de Facultad y comité de cada programa, teniendo en cuenta las observaciones anteriormente nombradas.
Se identifican las áreas donde la mortalidad académica es alta, además de analizar los primeros semestres para determinar en qué áreas existe mayor mortalidad académica lo cual lleva a la deserción estudiantil al inicio de carrera.
Esto con el fin de ayudar al mejoramiento de la calidad de los programas ofrecidos por la Universidad de los Llanos.
CONCLUSIONES Y RECOMENDACIONES
La mezcla de áreas como minería de datos y lógica difusa permite obtener resultados más cercanos al pensamiento natural, es por ello que este trabajo es tan solo un primer paso en el estudio de un área muy grande por explorar, que intenta reiterar el trabajo realizado por el grupo de estudio CIULL (Computación Inteligente Unillanos) del centro de investigaciones de la Facultad de Ciencias Básicas e Ingeniería de la Universidad de los Llanos (Villavicencio- Meta-Colombia).
Análisis Futuros (Tabla 4, 5, 6):
Tabla 4. Entidades para análisis Futuros
Tabla 5. Entidades para análisis Futuros
Tabla 6. Entidades para análisis Futuros
Como posibles trabajos futuros generados a partir de este se tienen:
R E F E R E N C I A S
1. ADRIAANS, P. Y ZANTINGE, D. 1996: Data Mining. Addison-Wesley, Harlow.
2. BEZDEK, J.C. 1981: Pattern Recognition with Fuzzy Objective Function Algorithms. Plenum Press, Nueva York.
3. DELGADO, ALBERTO. 1998. “Inteligencia Artificial y Mini robots”, Editorial Ecoe Ediciones
4. DUARTE, OSCAR G. 1997. “UNFUZZY - Software para el análisis, diseño, simulación e implementación de Sistemas de Lógica Difusa”. M.Sc. Tesis. Universidad Nacional de Colombia, Facultad de Ingeniería, Maestría en Automatización Industrial.
5. DUARTE, OSCAR G. “Sistemas de Lógica Difusa - Fundamentos”, Revista Ingeniería e Investigación No.43, Revista de Facultad de Ingeniería Universidad Nacional de Colombia.
6. FAYYAD, U. M. 1996: “Data Mining and Knowledge Discovery: Making Sense out of Data.” IEEE Expert, Intelligent Systems & Their Applications, Octubre 1996, 20-25.
7. HAN J. & KAMBER M., 2000: Data Mining: Concepts and Techniques. 519 pags. Editorial Morgan Kaufmann Publishers. New York.
8. MARTIN MCNEILL, ELLEN THRO. 1994. “Fuzzy Logic, a Practical Aproach”, Editorial AP Profesional.
9. MEIER, W., WEBER, R. Y ZIMMERMANN, H.-J. 1994: “Fuzzy Data Analysis – Methods and Industrial Applications.” Fuzzy Sets and Systems 61, 19-28.
10. PÉREZ H., GUSTAVO . “Sistemas de Lógica Difusa - Notas de Clase”, Universidad Nacional de Colombia.
11. TIMOTHY, J. ROSS. 1997. “Fuzzy Logic With Engineering Applications”, Editorial McGraw-Hill.