Temática
Minería de datos
Tiempo de lectura
5 minutos
La minería de datos se define como una serie de técnicas encaminadas a identificar patrones implícitos dentro de grandes conjuntos de datos, con el fin de entender sus mecanismos de comportamiento, su interrelación y su potencial evolución futura. El data mining es una tecnología exploratoria clave en los proyectos de Big Data, y se puede poner en funcionamiento tanto para resolver preguntas específicas como para la extracción de información de manera general, buscando tendencias y anomalías en la muestra.
Hace poco abordábamos en el Blog de datahack algunas de las metodologías de data mining más conocidas para el análisis en Big Data, como KDD, SEMMA y CRISP-DM. Hoy iremos un paso más allá y nos centraremos en las 7 técnicas de minería de datos más utilizadas en el mundo del Big Data. Aquí tienes nuestra selección:
Árboles de decisión
Los árboles de decisión son diagramas lógicos que plantean, ante una determinada situación, cuáles son las opciones de intervención posibles, agregando sus implicaciones, costes, ventajas y desventajas. Se basan en la aplicación de un algoritmo clasificatorio que, a partir de un nodo, desarrolla ramas (decisiones) y determina el potencial resultado de cada una de ellas.
Son especialmente útiles cuando se necesita interpretar el proceso de decisión: el modelo resultante es legible por humanos, lo que facilita su validación. Se aplican tanto en clasificación (predecir una categoría) como en regresión (predecir un valor continuo). En Python, DecisionTreeClassifier de scikit-learn permite construirlos en pocas líneas. Su principal limitación es la tendencia al sobreajuste; para mitigarla se usan ensamblados como Random Forest.
Las redes neuronales son modelos que, a través del aprendizaje automático, intentan llenar los vacíos de interpretación en un sistema. Para ello imitan, en cierto modo, las conexiones entre neuronas que se producen en el sistema nervioso de los seres vivos.
Las redes neuronales se engloban dentro de las técnicas predictivas de minería de datos y, como todo modelo de machine learning, es preciso entrenarlas con distintos data sets con los que ir matizando los pesos de las neuronas para asegurar la fiabilidad de sus respuestas. Existen diferentes tipos de redes neuronales para data mining, como el perceptrón simple y el multicapa o los mapas de Kohonen.
Destacan en tareas con datos no estructurados (imágenes, texto, audio) y cuando la relación entre variables es altamente no lineal. Frente a un árbol de decisión o una regresión logística, su coste computacional es mayor y el modelo es menos interpretable, por lo que conviene reservarlas para casos donde la complejidad del patrón lo justifique. Las librerías de referencia son TensorFlow y PyTorch en Python.
Redes neuronales
Clustering
El clustering o agrupamiento en minería de datos tiene como objetivo la segmentación de elementos que presentan alguna característica definitoria en común. En este caso, el algoritmo atiende a condiciones de cercanía o similitud para hacer su trabajo.
Esta técnica de data mining está muy extendida en el mundo del marketing para el envío de correos y promociones personalizadas a los usuarios que integran una base de datos.
A diferencia de la clasificación —que asigna elementos a categorías predefinidas— el clustering descubre las agrupaciones por sí mismo, sin etiquetas previas. El algoritmo más conocido es K-Means (disponible en scikit-learn), que requiere definir de antemano el número de grupos; para cuando ese número es desconocido se usan variantes como DBSCAN o clustering jerárquico. También se aplica en detección de anomalías, segmentación de imágenes y análisis genómico.
Aprende más sobre la clusterización de clientes y llega a ellos de forma más personalizada con nuestro Máster Executive Inteligencia Artificial y Big Data.
La extracción de reglas de asociación como técnica de minería de datos persigue la inferencia de silogismos del tipo si…/entonces… a partir de conjuntos de registros. Esta búsqueda de regularidades nos permite discriminar y conocer mejor a una muestra, y establecer qué atributo o combinación de atributos es probable que traiga consigo una determinada consecuencia.
El ejemplo clásico es el análisis de la cesta de la compra (market basket analysis): «los clientes que compran pañales también compran cerveza los viernes». El algoritmo Apriori —implementado en la librería mlxtend de Python— es el más habitual para descubrir estas reglas, midiendo su fuerza mediante soporte, confianza y lift. También se aplica en sistemas de recomendación y detección de fraude bancario.
Extracción de reglas de asociación
Redes bayesianas
Las redes bayesianas son representaciones gráficas de relaciones de dependencia probabilística entre distintas variables. Sirven para dar solución tanto a problemas descriptivos como predictivos. Entre sus aplicaciones se incluyen el diagnóstico médico o el cálculo del riesgo en el sector financiero y asegurador.
Su ventaja diferencial es que cuantifican la incertidumbre: no solo predicen un resultado, sino que ofrecen una distribución de probabilidad sobre él. Eso las hace valiosas cuando los datos son escasos o cuando importa más conocer el rango de posibilidades que una predicción puntual. En Python se pueden construir con la librería pgmpy; en R existe el paquete bnlearn.
La regresión como técnica de minería de datos toma como punto de partida una serie histórica para, a partir de ella, predecir qué sucederá a continuación. De manera resumida, podemos decir que, a través de este método, se localizan regularidades dentro de los datos que permiten trazar una línea de evolución extrapolable al futuro.
Existen dos tipos principales: la regresión lineal, que modela relaciones proporcionales (p. ej., cómo varía el precio de un piso según sus metros cuadrados), y la regresión logística, que predice la probabilidad de un evento binario (¿abandonará este cliente el servicio?). Ambas están en scikit-learn y suelen ser el punto de partida recomendado antes de recurrir a modelos más complejos: si una regresión funciona bien, no hace falta una red neuronal.
Regresión
Modelado estadístico
El modelado estadístico pretende dibujar el mapa de relaciones entre variables explicativas y dependientes, y mostrar cómo cambia a medida que lo hacen los parámetros considerados en su planteamiento. Lo hace estableciendo una ecuación matemática que intenta reproducir la realidad de la manera más fiel posible, incorporando, incluso, la influencia del azar y el posible margen de error en el cálculo.
Mientras que el machine learning prioriza la capacidad predictiva, el modelado estadístico pone el foco en la interpretabilidad y en validar hipótesis sobre las relaciones entre variables. Las herramientas de referencia son R (con funciones como lm() y glm()) y Python con la librería statsmodels. Se usa ampliamente en ciencias sociales, economía y medicina: campos donde importa no solo qué ocurre, sino por qué.



