La Minería de datos
La minería de datos o data mining es una fase del KDD que aplica un técnica a la vista minable y finaliza con la obtención un conocimiento en forma de patrón o modelo.
Para que esta tarea se efectúe es necesario conocer qué tipo de conocimiento se quiere extraer, lo que se denominará tarea, y qué de forma se realizará tal tarea, esto se denomina método o técnica. Es importante diferenciar estos dos conceptos que, en ocasiones, pueden equivocarse. El método o técnica es el camino por el que se lleva a cabo una tarea de minería y una misma tarea puede realizarse por varios métodos. Estos dos conceptos son los elementos básicos de la fase de minería de datos.

La minería de datos también puede tener en cuenta algún tipo de conocimiento previo que altere el resultado de del método, el patrón. Esta alteración implica conocer tal conocimiento y que este sea capaz de ser aprovechado, es denominado sesgo. Este elemento no es obligatorio en la fase de minería pero, si el conocimiento está al alcance, es altamente recomendable ya que puede llegar a mejorar considerablemente el resultado.
[Para aprender más sobre minería de datos te recomiendo el libro «Introducción a la minería de datos» de Orallo Hernández]
Por tanto, una tarea resuelve un problema de minería de datos como puede ser “Estimar, según ciertos parámetros, cual es el valor de una vivienda”. En este caso estaríamos hablando de una regresión o estimación. El método, por otra parte, es la forma en la que se llevaría a cabo esta tarea. Por ejemplo, una función lineal donde se establece una relación directa entre la tasa de criminalidad de una zona y el valor de la vivienda. El método es relativamente independiente de la tarea aunque existen métodos que son más efectivos que otros para cada tarea. A continuación se presentan las tareas y los métodos más significativos.
Tareas en minería de datos
Elegir el tipo de tarea es importante ya que el conocimiento obtenido por una tarea es más o menos distinto al de otro y puede no ser relevante en el dominio del problema. Las tareas pueden estar diseñadas para estimar, con una probabilidad, de qué manera se comportaran nuevas entradas en el sistema. Este tipo de tareas se denominan tareas predictivas aunque algunos autores también lo denominan como aprendizaje supervisado. Otro tipo de tareas, las denominadas tareas descriptivas explican el comportamiento de los datos existentes como, por ejemplo, determinar que entradas de la base de datos corresponden a atributos similares. Algunos autores denominan las tareas descriptivas como aprendizaje no supervisado.
Tareas predictivas:
Clasificación: En la clasificación cada instancia o registro pertenece a una clase que se indica mediante un atributo. Esta clase es un valor categórico, es decir, puede tomar un número finito de valores. El objetivo es obtener una función que relacione el resto de atributos con la clase, de manera que se pueda otorgar una clase a una nueva entrada en el modelo. Esta función se denomina clasificador.
Ejemplo. Un médico desea disponer de un sistema que determine, en base a unos parámetros (por ejemplo, la densidad de plaquetas en la sangre o si tiene antecedentes familiares) si una persona es diabética o no con la finalidad de efectuar mejores tratamientos. El sistema utilizará una base de datos de antiguos pacientes para hacer la clasificación.

Clasificación suave: Es un tipo especial de clasificación. En este caso, además del clasificador, existe otra función que sirve para determinar con qué posibilidad de acierto se clasificará una entrada y ofrecerá al usuario con qué posibilidad tal clasificación es correcta, el grado de certeza.
Ejemplo. Un prestamista desea crear una aplicación para determinar si sus clientes devolverán o no los préstamos que ofrece en base a una serie de atributos como puede ser el valor del préstamo o el salario del cliente. El sistema ofrecerá una clasificación de Si/No, además del grado de certeza.

Estimación de probabilidad de clasificación: Es un tipo especial de clasificación suave. Se produce en caso de que exista un total de n funciones, donde n es igual al número de clases. Estas funciones muestran la posibilidad de que una entrada pertenezca a una de las clases. En caso de que la clasificación se haga de dos clases, el resultado es similar a la clasificación suave, ya que el grado de certeza de la clase no elegida es la diferencia con respecto a 1 de la clase elegida.
Ejemplo. Un veterinario desea realizar un diagnóstico en base a unas pruebas realizadas. El sistema ofrecerá cada una de las alternativas posibles con el porcentaje de posibilidad.

Categorización: Es similar a la clasificación, con la diferencia de que cada instancia puede pertenecer a más un conjunto de datos, denominada categoría. En ocasiones puede ir acompañada de la probabilidad, lo que se denomina categorización suave.
Ejemplo. Un sistema que recibe el perfil de una persona (peso, edad, altura) y ofrece una lista de los deportes que son recomendados para ella.

Preferencias o priorización: En la priorización, el objetivo es establecer un orden de las instancias o registros en base a con qué capacidad cumplen con los objetivos del sistema.
Ejemplo. Un sistema diseñado para cubrir un puesto vacante que utiliza como atributos algunas estimaciones como puede ser idiomas, conocimientos,… El sistema ofrecerá una lista ordenada con los candidatos según su capacidad para desarrollar el puesto. Para ello, el sistema utiliza información histórica de otros empleados que trabajan o han trabajado para la empresa.

Regresión o estimación: El objetivo de la regresión es asignar un valor numérico del conjunto real a cada instancia. Es similar a la clasificación en cuanto a que se desea predecir uno de los campos de cada entrada, pero difiere a que tal campo contiene infinitas posibilidades. Los ejemplos se denominan campos etiquetados al ir acompañados del valor en cuestión.
Ejemplo. Un sistema que estima el valor monetario de venta de una vivienda en base información histórica, como puede ser la zona, tamaño y valor de compra, de otras viviendas vendidas.

Tareas descriptivas:
Agrupamiento: Esta tarea organiza las instancias que son más similares en grupos. Estos grupos, a priori, no se conocen, sino que forma parte del algoritmo encontrar cuantos grupos existen y qué registros pertenecen a cada uno. Esta tarea puede ser útil para tomar decisiones específicas para cada grupo. También puede ser utilizada para mostrar un resumen de los datos ya que cada grupo representa un tipo estándar de entrada.
Ejemplo. Un responsable de un departamento de marketing desea crear una aplicación que organice los clientes en distintos grupos en base a su historial de compras de forma que, los clientes que tienen compras similares estén situados en el mismo grupo, con la finalidad de crear distintas campañas de marketing para cada grupo.

Correlaciones y factorizaciones: Su objetivo es determinar si dos atributos que comparten todos los registros tienen algún tipo de relación entre ellos. Estos atributos han de ser numéricos.
Ejemplo. Dado un conjunto de datos de viviendas, determinar si dos de los atributos tienen relación entre sí como podrían ser la tasa de criminalidad y la distancia al centro de la ciudad.
Reglas de asociación: Muy similares a la anterior, pero usado para atributos categóricos. Intenta identificar relaciones entre estos atributos, normalmente utilizando sentencias del tipo «si un atributo toma tal valor, entonces este otro tomará un valor determinado”.
Ejemplo. Una plataforma de venta online desea descubrir, en base a los datos históricos de compras de sus clientes, qué productos acompañan la compra de cada producto en la misma cesta. El sistema identificará estos productos.
Dependencias funcionales: Es muy similar a reglas de asociación con la particularidad de que, para intentar explicar un atributo, se utilizan el resto (en las reglas de asociación que solo eligen un valor).
Ejemplo. Un sistema que determina si una persona tiene automóvil en base a unos atributos como pueden ser la edad, sus ingresos, su código postal…
Detección de entradas anómalas: Esta tarea busca, dentro de la base de datos, entradas anómalas u outliers. Una entrada anómala es un registro que no corresponda al criterio general del resto y, por tanto, no presente apenas similitudes en el conjunto de sus atributos. Para llevarlo a cabo, normalmente se tiende a agrupar los ejemplos con la finalidad de determinar cuál de ellos se aleja de los grupos establecidos o del resto de instancias.
Ejemplo. Búsqueda de importes muy superiores a lo normal en las compras de un establecimiento, con el fin de encontrar compras fraudulentas.

Métodos en minería de datos
Los métodos o técnicas representan cada una de los caminos para conseguir realizar una tarea. Cada una de las tareas anteriores pueden ser realizadas utilizando distintos métodos pero, normalmente, uno de los métodos es el más indicado para conseguir un objetivo en concreto. Se presentan a continuación una clasificación de los métodos más comunes utilizados en minería de datos. Esta clasificación no representa la totalidad de los métodos existentes pues se pueden generar nuevos a partir de una combinación de dos o más.
Técnicas algebraicas y estadísticas: Se basan en expresar modelos y patrones mediante fórmulas algebraicas, funciones lineales, funciones no lineales, distribuciones o valores agregados estadísticos como pueden ser medias, varianzas o correlaciones. Frecuentemente, este tipo de técnicas extraen un patrón a partir de un modelo ya predeterminado el cual tiene unos parámetros que han de ser estimados en función de la información a la que se aplica.
Técnicas bayesanas: Se basan en estimar probabilidad de pertenencia a una clase o grupo mediante la estimación de las probabilidades condicionales inversas o “a priori”, utilizando para ello el Teorema de Bayes. Tal teorema establece una relación de la probabilidad de que tenga lugar un suceso A dado un suceso B con la probabilidad de que ocurra un suceso B dado un suceso A. Algunos algoritmos son muy populares como el clasificador bayesiano naive, los métodos basados en máxima verisimilitud y el algoritmo EM.
Técnicas basadas en conteos de frecuencias y tablas de contingencia: Estas técnicas se basan en contar la frecuencia en la que dos o más sucesos se presentan conjuntamente. Cuando el conjunto de sucesos posibles es muy grande, existen algoritmos que van comenzando por pares de sucesos e incrementando los conjuntos sólo en aquellos casos que las frecuencias conjuntas superen cierto umbral.
Técnicas basadas en árboles de decisión: Son técnicas que, además de su representación en forma de reglas, se basan en dos tipos de algoritmos: los llamados “divide y vencerás” y los denominados “separa y vencerás”
Técnicas relacionales, declarativas y estructurales: La característica principal de este conjunto de técnicas es que representan los modelos mediante lenguajes declarativos, como los lenguajes lógicos, funcionales o lógico-funcionales. Las técnicas de programación lógica inductiva son las más representativas y las que han dado nombre a un conjuto de técnicas denominadas minería de datos relacional.
Técnicas basadas en redes neuronales artificiales: Son técnicas que aprenden un modelo mediante el entrenamiento de los pesos que conectan un conjunto de nodos o neuronas. La topología de la red y los pesos de las conexiones determinan el patrón aprendido. Existen innumerables variantes de la organización: perceptrón simple, redes multicapa, redes de base radial, el más conocido es el de retropropagación.
Técnicas basadas en núcleo y máquinas de soporte vectorial: Se trata de técnicas que intentan maximizar el margen entre los grupos o las clases formadas. Para ello se basan en unas transformaciones que pueden aumentar la dimensionalidad, estas transformaciones se denominan kernels o nucleos.
Técnicas estocásticas y difusas: Bajo este grupo se incluyen la mayoría de las técnicas que, junto a las redes neuronales, forman lo que se denomina computación flexible. Son técnicas en las que o bien los componentes aleatorios son fundamentales, como los métodos evolutivos y gnéticos o bien al utilizar funciones de pertenencia difusas.
Técnicas basas en casos, en densidad o distancia: Son métodos que se basan en distancias al resto de elementos, ya sea directamente, como los vecinos más próximos, de una manera más sofisticada mediante la estimación de funciones de densidad. Algunos algoritmos muy conocidos, además de los vecinos más próximos, son los jerárquicos como Two-step o COBWEB y los no jerárquicos como los K medias.
La siguiente imagen (figura 18), expuesta en el libro “Introducción a la minería de datos” [4], muestra las correspondencias más típicas y, generalmente, más óptimas entre tarea y algunos algoritmos que pertenecen a uno de los métodos vistos anteriormente. Por supuesto, esta clasificación no es definitiva y es posible que no tenga en cuenta condiciones de una tarea de minería concreta. Aun así, puede resultar útil para una visión general.

Deja una respuesta