El Método KDD para protección de datos

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

  1. Selección.
  2. Preprocesamiento/limpieza.      
  3. Transformación/reducción.
  4. Minería de datos (data mining).
  5. 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).

 Los métodos de reducción de dimensiones pueden simplificar una tabla de una base de datos horizontal o verticalmente. La reducción horizontal implica la eliminación de tuplas idénticas como producto de la sustitución del valor de un atributo por otro de alto nivel, en una jerarquía definida de valores categóricos o por la discretización de valores continuos (por ejemplo, edad por un rango de edades). La reducción vertical implica la eliminación de atributos que son insignificantes o redundantes con respecto al problema, como la eliminación de llaves, la eliminación de columnas que dependen funcionalmente (por ejemplo, edad y fecha de nacimiento). Se utilizan técnicas de reducción como agregaciones, compresión de datos, histogramas, segmentación, discretización basada en entropía, muestreo, entre otras (Han y Kamber, 2001).

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.

 Un uso clásico de asociaciones es el análisis de la canasta de mercado, en la cual la asociación es una lista de afinidades de productos. Por ejemplo, observar los pedidos individuales de clientes para suministros de oficina puede generar una regla: el 70% de los clientes que ordenan plumas y lápices también ordenan libretas.

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.

 Fuente: https://ediciones.ucc.edu.co/index.php/ucc/catalog/download/36/40/230-1?inline=1#:~:text=El%20Descubrimiento%20de%20conocimiento%20en,que%20el%20usuario%20los%20analice.

 

Comentarios