Introducción a la Minería de Datos

La minería de datos es la extracción de bloques de información que luego utilizaremos para crear información correlacionada y compleja. La idea es que, utilizando algoritmos y sistemas que se adapten a nuestros datos, ser capaces de filtrar, separar y clasificar los datos en función del análisis previo o tesis a la que se quiere llegar.

A continuación, veremos algunos de los algoritmos básicos en la minería de datos.

Algoritmo A-Priori

Representa un espacio ordenado jerárquicamente de conjuntos de artículos y sus frecuencias.

La anterior imagen hace parte del trabajo de Pattern Detection with Rare Item-set Mining. Te invito a consultarlo si estas interesado en profundizar mas.

Este es uno de los algoritmos mas comunes para identificar las reglas de asociación entre los datos, también permite validar la calidad de estas asociaciones, es decir si son relevante o no dentro del análisis.

Para poder identificar itemsets frecuentes y su relevancia se hace por medio de agrupaciones mediante un diagrama; en donde los ítems frecuentes tienen forma cuadrada, las agrupaciones raras o extrañas con un circulo y los conjuntos que no están presentes en forma de rombo.

  1. Como se menciono anteriormente, el primer paso es encontrar los itemsets frecuentes. Para esto obtenemos toda la lista de transacciones de la base de datos transaccional y hacemos los posibles grupos como en el diagrama anteriormente mencionado. Para verlo mas claramente vamos a jugar con tres colores.

Como vimos de tres productos o ítems obtuvimos siete itemsets. Es decir que con \(n\) items tenemos \(2^{n} – 1\) itemsets, para el anterior ejemplo sería \(2^{3} – 1 = 7\).

Aunque esto no es muy optimo, ya que las bases de datos contienen miles o millones de datos; Simplemente un computador no podría terminar de crear todos los posibles itemsets. Por lo que matemáticamente podemos deducir lo siguiente: \(\forall X,Y : (X\subseteq Y) => s(X)\geq s(Y)\), que si un itemset es frecuente todo sus subitems también lo serán. Por el contrario también se puede decir lo mismo, que si un ítemset no es frecuente sus subitems no lo serán. Ya que a una mayor cantidad de ítems la frecuencia es menor. Esto es conocido como el Principio de Monotonicidad, que es una propiedad de los itemsets. Gracias a este principio podemos descartar los itemsets menos frecuentes. Claro, para esto debemos definir un umbral mínimo para considerarlo frecuente.

  1. Ahora definiremos el umbral mínimo. Para esto asumimos que cada item es un itemset por si mismo. Obtenemos la cantidad de registros por cada item para determinar por ejemplo que el umbral mínimo es una cuarta parte de los datos. Si considera que son muchos puede subir el umbral hasta que lo considere necesario.
  2. Teniendo el umbral se pueden descartar los itemset que no lo superan.
  3. Ahora es momento de construir los subitems. Para esto creamos los grupos y vamos validando que superen el umbral mínimo. Nos ayudara mucho tener claro los conceptos de teoría de conjuntos. También es muy importante para el algoritmo que creemos un orden para los items, es decir que en cada iteración siempre vamos a respetar el mismo orden de los items. No hay una norma de como debe organizarlos. Puede ser alfabéticamente o, a mi parecer, la mejor manera es por la cantidad de registros en la base de datos, de mayor a menor. Pero recuerde que debe mantener este orden en todas las diferentes ramificaciones e iteraciones.
  4. El algoritmo finaliza cuando los nuevos itemsets no superan el umbral mínimo establecido.

Este post esta cortito pero continuara en posteriores el tema. Veremos que es la clasificación y uno de sus mas importantes algoritmos.