Story Transcript
Introducción a la Minería de Datos
Introducción a la Minería de Datos
“Estamos viviendo en la era de la información”
“ Vivimos en la era de los datos “ WWW ( Tera o Pentha bytes de data) Almacenamiento de datos provenientes de: Negocios Sociedad Ciencias Ingeniería Medicina Etc......
Introducción a la Minería de Datos Avances en las tecnologías de recolección y almacenamiento de datos
A partir de fuentes como: Ciencia, Ingeniería, Medicina
Bases de datos muy grandes
Negocios, Bancos
Datos
Redes de telecomunicaciones Instituciones públicas y privadas La Web Comunidades Virtuales y redes sociales, entre otras
Diferentes y nuevos conjuntos de datos: imágenes, textos, multimedia, espaciales, temporales, streams, ……
Introducción a la Minería de Datos Registros médicos
¿Datos?
Registros del uso de tarjetas de crédito, historiales crediticios Transacciones en supermercados, tiendas, entre otras Accesos a la Web Detalles del uso de telefonía móvil Imágenes espaciales, médicas, entre otras Genoma humano Librerías digitales, textos, páginas Web Datos climáticos Interacciones en redes sociales … ¡y muchos más!
Introducción a la Minería de Datos En los datos hay conocimiento “oculto”, el cual puede ser utilizado para la toma de decisiones.
Registros médicos asociados a pacientes
Identificar los pacientes con riesgo de sufrir una patología concreta.
Archivos de registro de servidores web
Detectar patrones de comportamiento de los usuarios
Variables financieras de compañías
Determinar la capacidad de pagos de crédito
Tweets de los usuarios Valores de métricas que caracterizan un proyecto de software
Determinar el impacto en la población de eventos naturales o epidemias Estimar el costo y tiempo de desarrollo
Introducción a la Minería de Datos Entonces,
Datos
?
Conocimiento útil para la toma de decisiones
¿Cómo extraer conocimiento a partir de datos?
Introducción a la Minería de Datos Una alternativa a la búsqueda y extracción de conocimiento a partir de datos:
KDD (Knowledge Discovery in Databases)
Proceso de descubrimiento de conocimiento a partir de datos
Definición: según Fayyad, 1996
“Proceso no trivial de identificar, a partir de datos, patrones válidos, novedosos, potencialmente útiles y, en última instancia, comprensibles” Según esta definición, las propiedades deseables del conocimiento extraído son:
Introducción a la Minería de Datos • Válido:
los patrones deben ser precisos para nuevos datos.
• Novedoso:
deben aportar algo desconocido para el usuario
• Potencialmente
útil:
• Comprensible:
deben producir algún beneficio para el usuario
Que posibilite su interpretación, revisión, validación y uso en la toma de decisiones.
Entonces, objetivo del KDD Procesar automáticamente grandes cantidades de datos, identificar los patrones más significativos y relevantes, y presentarlos como conocimiento apropiado para satisfacer las necesidades del usuario
Introducción a la Minería de Datos El proceso de KDD envuelve: Datos Preparación de los datos
Minería de datos
Etapa del proceso KDD
Evaluación e interpretación
Conocimiento (patrones, estructuras descubiertas)
Introducción a la Minería de Datos
Definiciones de minería de datos: Proceso de extraer conocimiento útil y comprensible, previamente desconocido, desde grandes cantidades de datos almacenados en distintos formatos. Proceso no trivial de identificación de patrones válidos, novedosos, potencialmente útiles y entendibles que se encuentran ocultos en los datos. Conjunto de técnicas y herramientas aplicadas al proceso no trivial de extraer y presentar conocimiento implícito, previamente desconocido, potencialmente útil y humanamente comprensible, a partir de conjuntos de datos. Proceso de descubrir automáticamente conocimiento en grandes volúmenes de datos
Introducción a la Minería de Datos Entonces,
Datos
Minería de datos
Conocimiento (útil y novedoso)
(Proceso KDD)
Analizar los datos para extraer conocimiento que permita resolver problemas y apoye la toma de decisiones
Introducción a la Minería de Datos Aprendizaje automático
Minería de datos
Estadística
Técnicas, de la Inteligencia Artificial, para el aprendizaje a partir de ejemplos (machine learning)
Conceptos, teorías y técnicas
Bases de datos
Almacenes de datos y OLAP
Visualización de datos
Otras disciplinas
Dependiendo del tipo de datos: técnicas de procesamiento del lenguaje natural, procesamiento de imágenes, señales, etc.
Aplicaciones En diferentes dominios:
Medicina: diagnóstico de enfermedades, gestión hospitalaria, recomendación de medicinas, … Educación: Construcción de perfiles de estudiantes, predicción del rendimiento de estudiantes, … Industria: Detección de piezas defectuosas, predicción de fallas, extracción de modelos de producción, estimación de modelos de calidad, … Mercado: Segmentación de clientes, estimación de ventas, evaluación de campañas publicitarias, determinación de perfiles de compra, … Inteligencia de negocios: determinación del comportamiento de clientes, análisis de mercados, predicción de ventas, … Asistencia personalizada: buscadores Web adaptados a los usuarios, periódicos electrónicos con noticias personalizadas, …
Aplicaciones
Banca y Finanzas: Análisis de riesgo de asignación de créditos, detección de fraude, … Biología y Ambiente: Modelos de calidad del agua, construcción de indicadores ecológicos, clasificación de especies, … Turismo: Identificación de patrones de reserva, segmentación de clientes, … Telecomunicaciones: Determinación de patrones de llamadas y uso de telefonía móvil, detección de intrusos, … Web: Análisis del comportamiento de usuarios, clasificación de sitios Web… Ingeniería de Software: Predicción y estimación de índices de calidad del software, coste, duración de proyectos, ... y muchas más …
Aplicaciones
Otros ejemplos:
Identificación de grupos con características similares (por ejemplo, a partir de los viajes que han realizado clientes de una agencia de viajes, identificar grupos de personas con preferencias similares, con el objetivo de organizar diferentes ofertas). Detección de patrones de comportamiento de usuarios (por ejemplo, es posible descubrir las asociaciones entre los accesos y usos de la Web por parte de los usuarios. Esta información puede servir de ayuda para mejorar y replantear el sitio Web con el fin de facilitar la búsqueda). Predicción de fallas (por ejemplo, a partir de los registros de los usuarios de una compañía de telefonía celular, identificar las posibles fallas que se puedan presentar en el servicio. Esto permitiría mejorar los tiempos de respuesta de los casos hacia los usuarios y mejorar la calidad del servicio).
Aplicaciones
Construcción de sistemas de recomendación (por ejemplo, partir de las búsquedas que realiza un usuario en la Web es posible determinar sus preferencias o perfil, para construir un buscador personalizado que realice recomendaciones de acuerdo al perfil detectado) Detección de fraude (por ejemplo, a partir de los registros de uso de las tarjetas de crédito por parte de los usuarios de un entidad bancaria, es posible detectar eventos anómalos que puedan indicar posibilidad de fraude). Videojuegos adaptativos: (por ejemplo, a partir de las sesiones de juego de los usuarios se podría detectar su nivel de experticia para realizar una recomendación de niveles).
Heramientas Sobre la base del proceso de extracción de conocimiento a partir de datos, en general estas herramientas proporcionan:
Datos
Preparación de los datos
Minería de datos
Evaluación e interpretación
Funcionalidades para limpieza y preparación de los datos, así como para la visualización y análisis exploratorio. Implantación de diversos algoritmos aprendizaje para resolver diferentes tareas de la minería de datos Funcionalidades para la evaluación de los modelos obtenidos y visualización de resultados.
Herramientas De libre distribución: WEKA (Universidad de Waikato) Suite de Minería de Datos de PENTAHO (basado en Weka) Orange (Facultad de informática de la Universidad de Ljubljana) RapidMiner (Universidad de Dortmund, puede utilizar los algoritmos de Weka) R (R Development Core Team) DBMiner (Universidad Simon Fraser, Canadá)
Otros: SPSS Clementine ORACLE Data Miner SAS Enterprise Miner STATISTICA Data Miner
Herramientas Ejemplo: WEKA
Proyecto de la Universidad de Waikato
WEKA es una colección de algoritmos de aprendizaje automático para las tareas de minería de datos.
Los algoritmos pueden ser aplicados directamente a un conjunto de datos o ser llamados desde código Java.
Contiene herramientas para el pre-procesamiento de los datos y visualización, clasificación, regresión, agrupación y reglas de asociación.
También permite la incorporación de nuevos algoritmos de aprendizaje
Sitio Web: http://www.cs.waikato.ac.nz/ml/weka/
Herraientas Interfaz de WEKA
En este curso
Datos
Preparación de los datos
Minería de datos
Evaluación e interpretación
¿Cómo preparar los datos para el proceso de minería de datos?
¿Cuáles técnicas pueden ser aplicadas para extraer conocimiento a partir de datos?
¿Cómo evaluar e interpretar los modelos extraídos?
Conocimiento
Datos, patrones y tareas de la MD
Minería de datos: Conjunto de técnicas y herramientas aplicadas al proceso no trivial de extraer y presentar conocimiento implícito, previamente desconocido, potencialmente útil y humanamente comprensible, a partir de conjuntos de datos.
Datos
Minería de datos (Proceso KDD)
Conocimiento (útil y novedoso)
Analizar los datos para extraer conocimiento que permita resolver problemas y apoye la toma de decisiones
Datos, patrones y tareas de la MD
Datos ¿Cómo son los datos?
Tipos de conjuntos de datos
Minería de datos ¿Qué tipo de problemas pueden resolverse?
Conocimiento ¿Cómo expresarlo?
Tipos de patrones Tareas de la minería de datos
Conjuntos de datos La minería de datos puede aplicarse a muchos tipos de conjuntos de datos Almacén de datos
Hojas de cálculo
Bases de datos relacionales
Datos transaccionales
Conjuntos de datos Multimedia: Imágenes, video, audio
Conjunto de imágenes de espermatozoides
Señal de audio
Conjuntos de datos Espaciales:
Donde las relaciones espaciales (ubicación) son muy importantes (datos geográficos, imágenes satelitales)
Sistema de información geográfico
Temperatura promedio mensual de la tierra y el océano (espacio-temporal)
Conjuntos de datos Temporales: con atributos relacionados con el tiempo
Estudios poblacionales
Señales en cardiologí a
Conjuntos de datos Documentales: como textos
Páginas Web
Conjuntos de datos En general, independiente de:
Preprocesamiento
Conjunto de datos Tabla atributovalor
Conjuntos de datos Tabla Atributo – Valor: Atributo 1
Atributo 2
Atributo d
Cada fila: Instancias Ejemplos Registros Casos Muestras Observaciones
Un atributo es una propiedad de un objeto Una colección de atributos describe a un objeto
Cada columna: Atributo Variable Característica Campo
Conjuntos de datos Cada atributo puede ser de cierto tipo:
Nominales o categóricos: Toman valores en un número finito y predeterminado de símbolos o categorías. Ejemplos: - Sexo: [M,F] - Color de ojos: [negro, marrón, azul, verde] - Tipo de correo: [Spam, No Spam]
Binarios: Atributo nominal que sólo puede tomar dos categorías o estados: 0 y 1, donde el “0” significa ausencia y “1” significa presencia. Ejemplo: - Paciente fumador: 0 indica que no fuma, 1 indica que fuma.
Conjuntos de datos Ordinales: Toman valores en un número finito y predeterminado de símbolos o categorías ordenados. Ejemplos: - Satisfacción del cliente: [muy satisfecho, medianamente satisfecho, poco satisfecho] - Grado académico: [Bachiller, Técnico, Licenciado, Postgrado] - Tamaño: [Pequeño, Mediano, Grande] Numéricos o cuantitativos: Asumen valores enteros o reales. Ejemplos: - Edad: [1, 90] años - Temperatura: [0, 40] grados - Salario: [700,5000] Bs. F
Conjuntos de datos Si los datos son complejos:
Preprocesamiento
Conjunto de datos (Tabla atributovalor)
Conjuntos de datos
Preprocesamiento
Conjunto de datos (Tabla atributovalor)
Tareas de la minería de datos Minería de datos
¿Qué tipo de problemas pueden resolverse?
Importante:
Minería de datos
Datos Información del problema
Inducción
Aprendizaje a partir de ejemplos
Modelo estimado
Deducción
Lo que se quiere aprender: Concepto, función, modelo, que explique los datos y que permita hacer predicciones válidas para nuevos datos
Predicción, Respuestas
Tareas de la minería de datos
Población
Muestra
Que permita hacer predicciones, dar respuestas, explicaciones, VÁLIDAS, para la población
Tareas de la minería de datos Básicamente se pueden generar dos tipos de modelos:
Modelos predictivos (asociados a tareas predictivas)
Predicen el valor de un atributo particular basado en los valores de otros atributos. Estiman valores futuros o desconocidos de variables de interés ( = variable dependiente u objetivo), a partir de otras variables (= variables independientes o predictivas).
Identifican patrones que explican o describen los datos.
Modelos descriptivos (asociados a tareas descriptivas)
Derivan patrones (correlaciones, grupos, anomalías, trayectorias) que sumarizan las relaciones fundamentales de los datos. Sirven para explorar las propiedades de los datos
Tareas de la minería de datos Tareas de la minería de datos
Tareas predictivas
Tareas descriptivas
Clasificación
Agrupación (clustering)
Regresión
Análisis de asociación (descubrimiento de reglas de asociación)
Aprendizaje supervisado: Se dispone de un atributo que representa la respuesta del problema
Detección de anomalías Aprendizaje no supervisado: La respuesta del problema no está dada
Tareas de la minería de datos A) Clasificación: - Dada una colección de registros o instancias (conjunto de aprendizaje) Donde cada registro contiene un conjunto de atributos, uno de los cuales es la clase (cada instancia pertenece a una clase)
- Encontrar un modelo para el atributo clase como una función de los valores de los otros atributos. Dato s
Modelo de clasificació n
Clase
Objetivo: Predecir la clase para nuevas instancias o registros tan exactamente como sea posible. Respuesta (variable categórica)
Tareas de la minería de datos Clasificación: ejemplo 1 Determinar el rechazo o aceptación de una solicitud de crédito basado en la información financiera y personal del solicitante. - Conjunto de datos: solicitudes realizadas anteriormente, con la información del cliente y la decisión sobre la aceptación o no de la solicitud por parte de la entidad bancaria. Eda d
Años en el banco
Tarjeta de crédito
Saldo en cuenta
Asignación
30
4
SI
> 2M
SI
19
1
NO
< 2M
NO
44
10
SI
< 2M
SI
Clase
- A partir de esta información estimar un modelo para el atributo clase, que permita determinar si dadas las características de un solicitud nueva es viable la concesión del crédito
Tareas de la minería de datos Clasificación: ejemplo 2 Predecir si un correo es un “SPAM” a partir de la información contenida en el mismo. - Conjunto de datos: textos de correos clasificados como SPAM y No SPAM. - Estos datos son preprocesados con técnicas de procesamiento de textos para transformarlos en una tabla, donde cada columna representa las frecuencias relativas de palabras claves en los textos. P1
P2
P3
P4
P5
P6
TIPO
0.00
2.26
1.38
0.02
0.52
0.01
SPAM
1.27
1.25
0.44
0.90
0.07
0.43
NO SPAM
0.04
1.98
1.44
0.35
0.61
0.02
SPAM Clase
- A partir de esta tabla, estimar un modelo para el atributo clase, que permita predecir si un correo desconocido es un SPAM o no
Tareas de la minería de datos Clasificación: ejemplo 3 Identificar los números de un código postal manuscrito a partir de una imagen digitalizada. - Conjunto de datos: Imágenes de los 10 dígitos con su etiqueta de clase
U N O
D O S
U N O
TR ES
SIE TE
- Estos datos son preprocesados para transformarlos en una tabla donde cada columna representa una característica extraída mediante algoritmos de procesamiento de imágenes.
- A partir de esta tabla, estimar un modelo para el atributo clase, que permita determinar el dígito en una imagen.
Clase
Tareas de la minería de datos B) Regresión: - Dada una colección de registros o instancias (conjunto de aprendizaje) Donde cada instancia tiene asociado un valor real
- Encontrar un modelo para el atributo real como una función de los valores de los otros atributos. Dato s
Modelo de regresión
Respuesta (variable numérica)
Valor numérico
Objetivo: Predecir un valor real para nuevas instancias o registros tan exactamente como sea posible
Tareas de la minería de datos Regresión: ejemplo 1 Predecir el valor de un inmueble a partir de las características de la zona de ubicación y su arquitectura. - Conjunto de datos: registros asociados a diferentes tipos de inmuebles en diferentes zonas. . . . .
No. de habitacione s
No. de baños
índice de criminalidad
Índice de acceso a TP
Valor (x 1000 Bs.F)
3
2
0.06
1
1000
1
1
0.01
2
600
2
1
0.80
1
250
3
3
0.40
3
400 Atributo de Salida
. - A partir de esta información, encontrar un modelo de regresión que permita estimar el valor de un nuevo inmueble.
Tareas de la minería de datos Regresión: ejemplo 2 Determinar el rendimiento relativo de un dispositivo (CPU) - Conjunto de datos: registros de diferentes dispositivos caracterizados según la casa de fabricación y variables de rendimiento . . . .
Nombre del vendedor
Ciclos de máquina
Memoria Cache
Memoria Principal
IBM
2000
32
64000
381
HP
400
32
32000
256
ADVISER
125
64
128000
128
SIEMENS
1500
32
64000
290
Rendimiento
Atributo de salida
- A partir de esta información, encontrar un modelo de regresión que permita estimar el rendimiento de un dispositivo.
Tareas de la minería de datos C) Agrupación (clustering): - Dada una colección de registros o instancias Donde cada registro tiene asociado un conjunto de atributos, no hay salida definida.
- Encontrar grupos naturales a partir de los datos - Objetivo: Los objetos de un grupo son muy similares entre sí y muy diferentes a los objetos de otros grupos. La distancia intragrupo se minimiza
La distancia entre grupos se maximiza
Se utilizan medidas de similitud, que dependerán del tipo de variable presente en el conjunto de datos
Tareas de la minería de datos Agrupación: ejemplo 1 Determinar diferentes tipos de documentos basados en su contenido - Conjunto de datos: conjunto de documentos - Estos datos son preprocesados para transformarlos en una tabla donde cada columna representa las frecuencias relativas de términos claves en los documentos. Términos
D oc .
Industria
Mercad o
Trabaj o
País
Inflació n
Precio
Sal ud
Drog a
Vacuna
Médico
1
4
2
3
1
0
0
0
0
0
0
2
2
3
0
2
2
0
0
0
0
0
3
0
2
1
1
0
2
0
0
0
0
4
0
0
0
0
0
0
0
2
3
0
5
0
0
0
0
0
0
3
3
0
2
- Utilizando una medida de similitud adecuada, encontrar grupos de documentos que son similares entre si basados en los términos importantes que aparecen en ellos, para posteriormente identificar el tema de un nuevo documento.
Tareas de la minería de datos Agrupación: ejemplo 2 Determinar diferentes estados operacionales en una planta de tratamiento de aguas residuales. - Conjunto de datos: registros diarios de los sensores de la planta. . . . . .
Flujo de entrada
pH de entrada
Cantidad de zinc de entrada
Sedimento s de entrada
44101
7.8
6.00
4.5
21
32229
7.6
5.00
6.5
17
41115
7.1
4.50
3.4
35
42815
7.4
2.50
5.6
108
33657
8.0
3.75
3.8
34
Sólidos de entrada
- Utilizando una medida de similitud adecuada, encontrar grupos que especifiquen diferentes estados de operación para posteriormente predecir posibles fallas.
Tareas de la minería de datos D) Análisis de asociación: - Dada una colección de registros o instancias Donde cada registro contiene un conjunto de atributos o items, no hay salida definida
- Encontrar combinaciones o asociaciones de items (atributos) que ocurren frecuentemente. - Objetivo: descubrir patrones que describen características fuertemente asociadas en los datos. Identificar relaciones no explícitas entre atributos categóricos. Regla de asociación: “Si el atributo X toma el valor A entonces el atributo Y toma el valor B” Regla de dependencia que permite predecir la ocurrencia de un item basado en la ocurrencia de otros items
Tareas de la minería de datos Reglas de asociación: ejemplo 1 Manejo de los estantes de un supermercado - Conjunto de datos: registros de las compras de los clientes provenientes de los puntos de ventas. - Identificar items que son comprados juntos por un número suficiente de clientes, para mejorar la organización física del almacén. Transacción 1
Pan, Leche
Transacción 2
Pan, Servilletas, Cerveza, Huevos
Transacción 3
Leche, Servilletas, Cerveza, Agua
Transacción 4
Pan, Leche, Servilletas, Cerveza
Transacción 5
Pan, Servilletas, Cerveza, Refresco
.. . Una regla clásica sería: Si el cliente compra pan y servilletas muy probablemente comprará cerveza
Tareas de la minería de datos Reglas de asociación: ejemplo 2 Análisis de petición de servicios médicos en un institución - Conjunto de datos: registros cuyos atributos expresan si se ha realizado o no, cada una de las posibles pruebas médicas que pueden aplicarse a un paciente. - Identificar las pruebas médicas que frecuentemente se realizan juntas, para mejorar la gestión de la institución. Paciente
Perfi l 20
Orina
Heces
Coleste rol
VIH
Glicem ia
1
X
X
0
0
0
0
2
X
0
X
X
X
0
3
0
X
X
X
0
X
4
X
X
X
X
0
0
5
X
X
X
0
0
X
Una regla que puede ser encontrada: 70% de las veces que se pide un análisis de orina también se solicita uno de sangre, y esto ocurre en 6 de cada 10 pacientes
Tareas de la minería de datos E) Detección de anomalías: - Dada una colección de registros o instancias Donde cada registro contiene un conjunto de atributos
- Detectar desviaciones significativas del comportamiento normal - Objetivo: Identificar instancias o registros cuyas características son significativamente diferentes del resto (= outlier)
Tareas de la minería de datos Detección de anomalías: ejemplo 1 Detección de fraude en el uso de tarjetas de crédito - Conjunto de datos: registros del uso de las tarjetas de créditos para cada uno de los clientes de un banco - A partir de estos datos se construye un perfil de cada cliente - Utilizando este perfil, se detectan comportamientos “anómalos” ( = observaciones que difieren significativamente del perfil “normal”)
Detección de anomalías: ejemplo 2 Detección de disturbios en ecosistemas - Conjunto de datos: registros de sensores. - A partir de estos datos se construye un modelo de comportamiento de la zona bajo estudio. - Utilizando este modelo, se pueden detectar posibles situaciones anómalas que permitan implantar planes de prevención.
Tareas de la minería de datos Para los siguientes problemas, indique qué tarea de minería de datos puede ser adecuada para su resolución y describa un posible conjunto de datos. Justifique.
Identificar patrones de comportamiento de usuarios en un sitio Web. Determinar la aptitud física de la tierra para un determinado cultivo. Indicar la cantidad de lluvia a corto plazo a partir de datos climatológicos Determinar la categoría de un Servicio Web. Determinar las fallas de un servicio de telefonía móvil a partir de los registros de los usuarios Identificar brotes de gripe a partir de los Tweets de los usuarios Determinar el costo de un nuevo contrato en una compañía a partir de los costos correspondientes a contratos anteriores. Determinar cuáles son los itinerarios más seguidos por los visitantes de un sitio Web Estimar el tamaño del software a partir de mediciones realizadas en el ámbito de la especificación de requisitos. Indicar la presencia de intrusos o eventos maliciosos en un sistema móvil. Determinar las preferencias de compra de clientes en un sistema de comercio electrónico. Identificar patrones de comportamiento de estudiantes en un sistema e-learning