El Descubrimiento de conocimiento en bases de datos (KDD, del inglés Knowledge Discovery in Databases) es básicamente un proceso automático en el que se combinan descubrimiento y análisis.
El proceso consiste en extraer patrones en forma
de reglas o funciones, a partir de los datos, para que el usuario los analice.
Esta tarea implica generalmente preprocesar los datos, hacer minería de datos
(data mining) y presentar resultados.
(Agrawal y Srikant, 1994)
(Chen, Han y Yu, 1996)
(Piatetsky Shapiro, Brachman y Khabaza, 1996)
(Han y Kamber, 2001)
KDD se puede aplicar en diferentes dominios, por
ejemplo, para determinar perfiles de clientes fraudulentos (evasión de
impuestos), para descubrir relaciones implícitas existentes entre síntomas y enfermedades,
entre características técnicas y diagnóstico del estado de equipos y máquinas,
para determinar perfiles de estudiantes “académicamente exitosos” en términos
de sus características socioeconómicas y para determinar patrones de compra de
los clientes en sus canastas de mercado.
Etapas del Proceso
- Selección.
- Preprocesamiento/limpieza.
- Transformación/reducción.
- Minería de datos (data mining).
- Interpretación/evaluación.
Etapa de selección.
Un vez identificado el conocimiento
relevante y prioritario y definidas las metas del proceso kdd, desde el punto
de vista del usuario final, se crea un conjunto de datos objetivo,
seleccionando todo el conjunto de datos o una muestra representativa de este, sobre
el cual se realiza el proceso de descubrimiento. La selección de los datos
varía de acuerdo con los objetivos del negocio.
Etapa de pre-procesamiento/limpieza (data cleaning).
Se analiza la calidad de los datos, se aplican operaciones básicas como la remoción de datos ruidosos, se seleccionan estrategias para el manejo de datos desconocidos (missing y empty), datos nulos, datos duplicados y técnicas estadísticas para su reemplazo. En esta etapa, es de suma importancia la interacción con el usuario o analista.
Los datos ruidosos (noisy data) son valores que
están significativamente fuera del rango de valores esperados; se deben
principalmente a errores humanos, a cambios en el sistema, a información no
disponible a tiempo y a fuentes heterogéneas de datos. Los datos desconocidos
empty son aquellos a los cuales no les corresponde un valor en el mundo real y
los missing son aquellos que tienen un valor que no fue capturado. Los datos
nulos son datos desconocidos que son permitidos por los sistemas gestores de
bases de datos relacionales (sgbdr). En el proceso de limpieza todos estos
valores se ignoran, se reemplazan por un valor por omisión, o por el valor más
cercano, es decir, se usan métricas de tipo estadístico como media, moda,
mínimo y máximo para reemplazarlos.
Etapa de transformación/reducción.
Se buscan características útiles para representar los datos dependiendo de la meta del proceso. Se utilizan métodos de reducción de dimensiones o de transformación para disminuir el número efectivo de variables bajo consideración o para encontrar representaciones invariantes de los datos (Fayyad et al., 1996).
Etapa de minería de datos.
Consiste en la búsqueda y descubrimiento de patrones insospechados y de interés, aplicando tareas de descubrimiento como clasificación.
(Quinlan, 1986) (Wang, Iyer y Scott, 1998), clustering (Ng y Han, 1994), (Zhang, Ramakrishnan, Livny, 1996), patrones secuenciales (Agrawal y Srikant, 1995) y asociaciones (Agrawal y Srikant, 1994), (Srikant y Agrawal, 1996), entre otras.
Las técnicas de minería de datos crean modelos que son predictivos o descriptivos. Los modelos predictivos pretenden estimar valores futuros o desconocidos.
Etapa de interpretación/evaluación de datos.
Se interpretan los patrones descubiertos y posiblemente se retorna a las anteriores etapas para posteriores iteraciones. Esta etapa puede incluir la visualización de los patrones extraídos, la remoción de los patrones redundantes o irrelevantes y la traducción de los patrones útiles en términos que sean entendibles para el usuario. Por otra parte, se consolida el conocimiento descubierto para incorporarlo en otro sistema para posteriores acciones o, simplemente, para documentarlo y reportarlo a las partes interesadas; también para verificar y resolver conflictos potenciales con el conocimiento previamente descubierto. Tareas de minería de datos Dentro de la minería de datos se encuentran diferentes tipos de tareas, las cuales pueden considerarse como un tipo de problema para ser resuelto por un algoritmo de minería de datos (Hernández, Ramírez y Ferri, 2005). Entre las tareas de minería de datos más importantes están la clasificación, segmentación o clustering, asociación y patrones secuenciales.
Tareas de minería de datos
Dentro de la minería de datos se encuentran diferentes tipos de tareas, las cuales pueden considerarse como un tipo de problema para ser resuelto por un algoritmo de minería de datos.
(Hernández, Ramírez y Ferri, 2005)
Entre las tareas de minería de datos más importantes están la clasificación, segmentación o clustering, asociación y patrones secuenciales.
Descubrimiento de patrones de desempeño académico 68
Clasificación
La clasificación de datos permite obtener resultados a partir de un proceso de aprendizaje supervisado. Es, además, el proceso por medio del cual se encuentran propiedades comunes entre un conjunto de objetos de una base de datos y se los cataloga en diferentes clases, de acuerdo con el modelo de clasificación.
(Agrawal, Ghosh, Imielinsky, Iyer y Swami, 1992).
Este proceso se realiza en dos pasos:
En el primero se construye un modelo, en el cual cada tupla de un conjunto de tuplas de la base de datos tiene una clase conocida (etiqueta), determinada por uno de los atributos de la base de datos llamado atributo clase. El conjunto de tuplas que sirve para construir el modelo se denomina conjunto de entrenamiento y se escoge randómicamente del total de tuplas de la base de datos. A cada tupla de este conjunto se denomina ejemplo de entrenamiento (Han y Kamber, 2001).
En el segundo paso se usa el modelo para clasificar. Inicialmente, se estima la exactitud del modelo utilizando otro conjunto de tuplas de la base de datos, cuya clase es conocida, denominado conjunto de prueba. Este conjunto es escogido randómicamente y es independiente del conjunto de entrenamiento. A cada tupla de este conjunto se denomina ejemplo de prueba (Han y Kamber, 2001).
La exactitud del modelo, sobre el conjunto de prueba, es el porcentaje de ejemplos de prueba que son correctamente clasificadas por el modelo. Si la exactitud del modelo se considera aceptable, se puede usar para clasificar futuros datos o tuplas para los cuales no se conoce la clase a la que pertenecen. Se han propuesto varios métodos de clasificación: rough sets, árboles de decisión, redes neuronales, Bayes, algoritmos genéticos entre otros.
El modelo de clasificación basado en árboles de decisión es probablemente el más utilizado y popular por su simplicidad y facilidad para entender (Han y Kamber, 2001), (Sattler y Dunemann, 2001).
Este modelo tiene su origen en los estudios de aprendizaje de máquina. Este es un método de aprendizaje supervisado que construye árboles de decisión a partir de un conjunto de casos o ejemplos denominados conjunto de entrenamiento (training set) extraídos de la base de datos. También se escoge un conjunto de prueba, cuyas características son conocidas, con el fin de evaluar el árbol. La calidad del árbol depende de la precisión de la clasificación y del tamaño del árbol (Chen, Han y Yu, 1996).
El método primero escoge un subconjunto del conjunto de entrenamiento y forma un árbol de decisión. Si el árbol no da la respuesta correcta para todos los objetos del conjunto prueba, una selección El proceso de descubrimiento de conocimiento en bases de datos 69 de excepciones se adiciona al conjunto de entrenamiento y el proceso continúa hasta que se encuentra el conjunto de decisiones correctas. El eventual resultado es un árbol en el cual cada hoja lleva un nombre de la clase y cada nodo interior especifica un atributo con una rama correspondiente a cada posible valor del atributo.
Segmentación o clustering
El proceso de agrupar objetos físicos o abstractos en clases de objetos similares se llama segmentación o clustering o clasificación no supervisada (Chen, Han y Yu, El proceso de descubrimiento de conocimiento en bases de datos 71 1996).
Básicamente, el clustering agrupa un
conjunto de datos (sin un atributo de clase predefinido) basado en el principio
de maximizar la similitud intraclase y minimizar la similitud interclase. El
análisis de clustering ayuda a construir particiones significativas de un gran
conjunto de objetos basado en la metodología divide y conquista, la cual
descompone un sistema de gran escala en pequeños componentes para simplificar
el diseño y la implementación.
La meta del clustering en una base de datos es la partición de esta en segmentos o clusters de registros similares que comparten un número de propiedades y son considerados homogéneos. Los registros en diversos clusters son diferentes y estos últimos tienen una alta homogeneidad interna (dentro del cluster) y una alta heterogeneidad externa (entre clusters).
Por homogeneidad se entiende que los registros en un cluster están próximos unos a otros; allí la proximidad se expresa por medio de una medida, dependiendo de la distancia de los registros al centro del segmento. Por heterogeneidad se entiende que los registros en diferentes segmentos no son similares de acuerdo con una medida de similaridad (Cabena, Hadjinian, Stadler, Verhees y Zanasi, 1998).
La segmentación, típicamente, permite descubrir subpoblaciones homogéneas: por ejemplo, se aplica a una base de datos de clientes, para mejorar la exactitud de los perfiles, identificando subgrupos de clientes que tienen un comportamiento similar al comprar.
El algoritmo de clustering segmenta una base de datos sin ninguna indicación por parte del usuario sobre el tipo de clusters que va a encontrar en la base de datos, y desecha cualquier sesgo o intuición por parte del usuario; así potencia el verdadero descubrimiento de conocimiento. Por esta razón, al método de segmentación o clustering se lo denomina aprendizaje no supervisado.
Algunos de los algoritmos utilizados para clustering son: K-Means (Han y Kamber, 2001), Clarans (Clustering Large Applications based upon Randomized Search) (Ng y Han, 1994), y Birch (Balanced Iterative Reducing and Clustering using Hierarchies) (Zhang, Ramakrishnan y Livny, 1996).
El clustering se utiliza por ejemplo en el análisis de flujo de efectivo para un grupo de clientes que paga en un período del mes en particular, para hacer segmentación de mercado y para descubrir grupos de afinidades. También se utiliza para descubrir subpoblaciones homogéneas de consumidores en bases de datos de marketing.
Asociación
La tarea de asociación descubre patrones en forma de reglas, que muestran los hechos que ocurren frecuentemente juntos en un conjunto de datos determinado. El problema fue formulado por Agrawal et al. (1992), y a menudo se referencia como el problema de canasta de mercado (market-basket).
En este problema se da un conjunto de ítems y una colección de transacciones que son subconjuntos (canastas) de estos ítems. La tarea es encontrar relaciones entre los ítems de esas canastas para descubrir reglas de asociación que cumplan unas especificaciones mínimas dadas por el usuario, expresadas en forma de soporte y confianza.
Las cantidades de ítems comprados
en una transacción no se toman en cuenta, lo que significa que cada ítem es una
variable binaria que representa si un ítem está presente o no en una
transacción.
El problema de encontrar reglas de asociación se
descompone en los siguientes pasos:
• Descubrir los itemsets frecuentes, i.e., el conjunto de ítems que tienen el soporte de transacciones por encima de un predeterminado soporte s mínimo.
• Usar los itemsets frecuentes para generar las reglas de asociación para la base de datos.
Patrones secuenciales
Los patrones
secuenciales buscan ocurrencias cronológicas. El problema de descubrimiento de
patrones secuenciales se trata en Agrawal y Srikant (1995).
Se aplica principalmente en el análisis de la canasta de mercado y su objetivo es descubrir en los clientes ciertos comportamientos de compra en el tiempo. El dato de entrada es un conjunto de secuencias llamado data-secuencia. Cada una de estas últimas es una lista de transacciones, en las que cada transacción es un conjunto de ítems (literales). Típicamente, hay un tiempo asociado con cada transacción.
Un patrón secuencial también se compone de una lista de conjuntos de ítems. El problema es encontrar todos los patrones secuenciales que cumplan con un soporte mínimo especificado por el usuario, en el cual el soporte es el porcentaje de data-secuencias que contiene el patrón. Por ejemplo, en una base de datos de una librería, cada data-secuencia puede corresponder a todas las selecciones de libros de un cliente y cada transacción, a los libros seleccionados por el cliente en una orden.
Un patrón
secuencial puede ser “El 5% de los clientes que compran ‘Foundation’, después
‘Foundation y Empire’ y luego ‘Second Foundation’ (Agrawal y Srikant, 1995, p.
3). La data-secuencia correspondiente al cliente, quien compró otros libros
conjuntamente o después de estos libros, contiene este patrón secuencial.
La data-secuencia puede también tener otros libros en la misma transacción, así como uno de los libros del patrón. Elementos de un patrón secuencial pueden ser conjuntos de ítems; por ejemplo, “‘Foundation’ y ‘Ringworld’, seguido por ‘Foundation y Empire’ y ‘Ringworld Engineers’”. Sin embargo, todos los ítems en un elemento de un patrón secuencial deben estar presentes en una transacción simple para que la data-secuencia soporte al patrón (Agrawal y Srikant, 1995).
Los patrones secuenciales, en el dominio de la medicina, se pueden utilizar por ejemplo para ayudar a identificar síntomas y enfermedades que preceden a otras enfermedades.
Áreas relacionadas con el proceso KDD
KDD se ha
desarrollado y continúa desarrollándose con base en las investigaciones
realizadas en los campos del aprendizaje de máquina, reconocimiento de
patrones, bases de datos, estadística, inteligencia artificial, sistemas
expertos, visualización de datos y computación de alto rendimiento. La meta
común es la extracción de conocimiento de los datos en el contexto de grandes
bases de datos.
Data warehousing
Es otra área con la que se relaciona KDD y se refiere a la actual tendencia de los negocios de coleccionar y limpiar datos transaccionales con el fin de que se encuentren disponibles para el análisis en línea y el soporte de decisiones. Un popular método para el análisis de bodegas de datos (data warehouse) es olap (On-line Analytical Processing) (Gill y Rao, 1996). Las herramientas de olap se enfocan en proveer análisis de datos multidimensional y están destinadas hacia la simplificación y soporte interactivo de análisis de datos, mientras que el objetivo de las herramientas de DCBD es automatizar el proceso, tanto como sea posible.
Comentarios
Publicar un comentario