90
EXTRACCIÓN DE CONOCIMIENTO EN BBDD

02 extraccion de conocimiento

Embed Size (px)

Citation preview

Page 1: 02 extraccion de conocimiento

EXTRACCIÓN DE

CONOCIMIENTO EN BBDD

Page 2: 02 extraccion de conocimiento

Bibliografía

Introducción a la Minería de Datos

Hernández Orallo, Ramirez Quintana, Ferri

Ramirez.

Editorial Pearson – Prentice Hall. 2004

Data Mining. Practical Machine Learning

Tools and Techniques

Witten, Frank, Hall

Morgan Kaufmann Publisher – Elsevier - 2011

Page 3: 02 extraccion de conocimiento

Introducción

Los avances tecnológicos hacen que las capacidades para generar y almacenar datos se incrementen día a día.

Automatización de todo tipo de transacciones

Comerciales, negocios, gubernamentales, científicas.

Avances en la recopilación de datos

Lectores de código de barra.

Mejora en la relación precio-capacidad de los dispositivos de almacenamiento masivo.

Page 4: 02 extraccion de conocimiento

Extracción de conocimiento en BBDD 4

A fines de los „80 apareció un nuevo campo de investigación llamado KDD (Knowledge Discovery in Databases)

KDD es el proceso no trivial de identificar patrones

a partir de los datos con las siguientes características:

Válidos

Novedosos

Potencialmente útiles

Comprensibles

Page 5: 02 extraccion de conocimiento

Extracción de conocimiento en bases de datos

o KDD 5

La minería de datos se refiere a la aplicación de métodos

de aprendizaje y estadísticos para la obtención de

patrones y modelos

Page 6: 02 extraccion de conocimiento

Relación con otras disciplinas

6

Programa ProSanE

Asignación automática

de móviles UCQ

Rec. de rostros y de

personas por su voz

Programa de Tutorías

PACENI

Estacionamiento automático

de vehículos

Obtención de reglas de

clasificación

Rec. de movimiento

ocular (equilibrio)

Page 7: 02 extraccion de conocimiento

Aplicaciones 7

Análisis de bases de datos y soporte de decisiones

Análisis y gestión de mercado.

Page 8: 02 extraccion de conocimiento

Aplicaciones 8

Análisis de bases de datos y soporte de decisiones

Análisis y gestión de mercado.

Detección de Fraudes.

Análisis de riesgo en créditos.

Complementa y mejora el procedimiento clásico de asignación de puntos

Otras Aplicaciones

Text mining (ej: e-mail, documentos).

Respuesta de consultas inteligente.

¿Dónde están las fuentes de datos para analizar?

Transacciones de tarjeta de crédito, cupones de

descuento, quejas de los clientes, estudios de estilo

de vida (públicos).

Page 9: 02 extraccion de conocimiento

Aplicaciones 9

Análisis de bases de datos y soporte de decisiones

Análisis y gestión de mercado.

Detección de Fraudes.

Análisis de riesgo en créditos.

Complementa y mejora el procedimiento clásico de asignación de puntos

Otras Aplicaciones

Text mining (ej: e-mail, documentos).

Respuesta de consultas inteligente.

Conocimiento a obtener

Hallar grupos de clientes que comparten las

mismas características: interés, nivel de ingreso,

hábitos de compras, etc.

Determinar patrones de compras de los clientes en

el tiempo.

Asociaciones/correlaciones entre productos

vendidos

Page 10: 02 extraccion de conocimiento

Aplicaciones 10

Análisis de bases de datos y soporte de decisiones

Análisis y gestión de mercado.

Detección de Fraudes.

Análisis de riesgo en créditos.

Complementa y mejora el procedimiento clásico de asignación de puntos

Otras Aplicaciones

Text mining (ej: e-mail, documentos).

Respuesta de consultas inteligente.

Categoriza las transacciones en legítimas e ilegítimas

según características comunes.

Aplicaciones: salud, serv. de tarjetas de crédito,

telecomunicaciones (fraudes en tarjetas telefónicas), etc.

Enfoque: Usar Data Mining para construir modelos de

comportamiento fraudulento que permitan identificar

instancias similares.

Page 11: 02 extraccion de conocimiento

Aplicaciones 11

Análisis de bases de datos y soporte de decisiones

Análisis y gestión de mercado.

Detección de Fraudes.

Análisis de riesgo en créditos.

Complementa y mejora el procedimiento clásico de asignación de puntos

Otras Aplicaciones

Text mining (ej: e-mail, documentos).

Respuesta de consultas inteligente.

Page 12: 02 extraccion de conocimiento

Minería de Datos vs otras disciplinas

Los sistemas tradicionales de explotación de datos están basados en la existencia de hipótesis o modelos previos.

Problemas

Quien formula la hipótesis debe saber cuál es la información que necesita.

La complejidad de los datos almacenados y sus interrelaciones dificulta la verificación del modelo.

La Minería de Datos busca el descubrimiento del conocimiento sin una hipótesis preconcebida.

Page 13: 02 extraccion de conocimiento

Tipo de conocimiento a extraer 13

Descriptivo

Muestran nuevas relaciones entre las variables.

Pueden ser utilizadas para mejorar el modelo.

Ej: Reglas de asociación, correlaciones, etc.

Predictivo

En base al modelo que gobierna el sistema es posible predecir hechos futuros.

Soluciones basadas en Redes Neuronales y Algoritmos Genéticos ofrecen mejores resultados que los enfoques estadísticos.

Ej: Clasificación, Agrupamiento (clustering), etc.

Page 14: 02 extraccion de conocimiento

Ej.1 : Análisis de créditos bancarios

Reglas obtenidas

Si cuentas-Morosas > 0 entonces Devuelve-credito = no

Si Cuentas-Morosas=0 Y

[(Salario>2500) O (D-credito>10)] entonces

Devuelve-credito= si

IDC D-créditos

(años)

C-créditos

(pesos)

Salario

(pesos)

Casa

propia

Cuentas

Morosas

… Devuelve

crédito

101 15 60000 2200 Si 2 … no

102 2 30000 3500 Si 0 … Si

103 9 9000 1700 Si 1 … No

104 15 18000 1900 No 0 … Si

105 10 24000 2100 no 0 … No

… … … … … … … …

14

Page 15: 02 extraccion de conocimiento

Ejemplo 2

Se busca predecir si el tipo de fármaco que se

debe administrar a un paciente afectado de rinitis

alérgica es el habitual o no.

15

DrugY DrugC DrugX DrugA DrugB

Page 16: 02 extraccion de conocimiento

Ejemplo 2

Para ello se hará uso de la información disponible en los historiales

clínicos de pacientes atendidos previamente. Las variables que se

recogen son:

Age: Edad

Sex: Sexo

BP (Blood Pressure): Tensión sanguínea.

Cholesterol: nivel de colesterol.

Na: Nivel de sodio en la sangre.

K: Nivel de potasio en la sangre.

Cada paciente ha sido medicado con un único fármaco de entre

cinco posibles: DrugA, DrugB, DrugC, DrugX, DrugY.

16

Page 17: 02 extraccion de conocimiento

Ejemplo 2

Nro. Age Sex BP Colesterol Na K Drug

1 23 F HIGH HIGH 0,792535 0,031258 drugY

2 47 M LOW HIGH 0,739309 0,056468 drugC

3 47 M LOW HIGH 0,697269 0,068944 drugC

4 28 F NORMAL HIGH 0,563682 0,072289 drugX

5 61 F LOW HIGH 0,559294 0,030998 drugY

… … … … … … … …

… … … … … … … …

… … … … … … … …

197 16 M LOW HIGH 0,743021 0,061886 drugC

198 52 M NORMAL HIGH 0,549945 0,055581 drugX

199 23 M NORMAL NORMAL 0,78452 0,055959 drugX

200 40 F LOW NORMAL 0,683503 0,060226 drugX

17

El archivo Drug5.xls contiene 200 muestras de pacientes atendidos

previamente.

Page 18: 02 extraccion de conocimiento

Ej.2. Arbol de Clasificación

Page 19: 02 extraccion de conocimiento

Ej.2. Arbol simplificado

Page 20: 02 extraccion de conocimiento

Ejemplo

Supóngase que se quiere analizar si existe una

relación entre la edad de la persona y el sueldo

que gana.

Se utilizará la siguiente información

ID Nombre Sueldo Edad Sexo IdD

1 Juan 2100 45 M Ge

2 Elena 2400 40 F Ma

3 María ? 53 F Ge

4 Pedro 1000 20 M Ge

5 Lucía 3500 35 F Ma

idD Nombre Director

Ge Gestión Rubio

Ve Ventas Brunel

Ma Marketing Torrubia

20

Page 21: 02 extraccion de conocimiento

Ejemplo. Consulta SQL

Id Nombre AVG_edad

Ge Gestión 45,0

Ma Marketing 37,5

21

Podría realizar varias consultas de este estilo para distintos

valores de sueldo. Nótese que se parte de la relación que se

quiere verificar.

SELECT D.id, D.Nombre,AVG(Edad)

FROM empleado E JOIN departamento D ON E.id=D.id

WHERE E.sueldo > 2000

GROUP BY D.id, D.Nombre

Resultado de la consulta Esto NO es

Minería de

Datos

Page 22: 02 extraccion de conocimiento

Fases del proceso de KDD 22

Page 23: 02 extraccion de conocimiento

Fases del proceso de KDD

Depende del objetivo fijado

Page 24: 02 extraccion de conocimiento

Fases del proceso de KDD

Por qué es necesaria?

Page 25: 02 extraccion de conocimiento

Fase de Preparación de los Datos

La información almacenada siempre tiene

Datos faltantes

Valores extremos

Inconsistencias

Ruido

Tareas a realizar

Limpieza (ej: resolver outliers e inconsistencias)

Transformación (ej:discretización)

Page 26: 02 extraccion de conocimiento

Limpieza de los datos

En primer lugar, debe tenerse en cuenta que hay

distintos tipos de variables o atributos.

Para cada tipo se deberá realizar un análisis de

sus valores.

Luego, se procederá a limpiarlos

Eliminando los valores con ruido

Determinando que hacer con los valores nulos.

Eliminando inconsistencias

Page 27: 02 extraccion de conocimiento

Tipos de variables

Cuantitativas o numéricas

DISCRETAS (cant. de empleados, cant. de alumnos, etc)

CONTINUAS (sueldo, metros cuadrados, beneficios, etc)

Cualitativas o categóricas

NOMINALES: nombran al objeto al que se refieren sin poder establecer un orden (estado civil, raza, idioma, etc.)

ORDINALES: se puede establecer un orden entre sus valores (alto, medio, bajo, etc)

Page 28: 02 extraccion de conocimiento

Analizando los datos disponibles

Se busca determinar una primera medida de

calidad de los datos

Variables Categóricas

Análisis de frecuencia mediante histogramas o gráficos de

sectores permitirán detectar valores nulos o fuera de rango.

Variables Cuantitativas

Utilizar medidas tales como: mínimo, máximo, media,

varianza, moda, mediana, etc.

También pueden usarse gráficos como los diagramas de

cajas o los histogramas.

Page 29: 02 extraccion de conocimiento

Limpieza - Variables con ruido

Las variables con ruido tendrán valores que caen

fuera del rango de sus valores esperados llamados

outliers.

Por qué se originan?

Error humano en la carga de datos (ej: una persona

puede aparecer con una altura de 5 metros).

Determinados cambios operacionales no han sido

registrados en el proceso.

En este caso deben corregirse los metadatos.

Page 30: 02 extraccion de conocimiento

Ejemplo : Adult_data.xls

La información fue extraída del repositorio UCI

http://archive.ics.uci.edu/ml/datasets/Adult

Contiene información obtenida de un censo

48842 registros que combinan datos discretos y continuos

(train=32561, test=16281)

El objetivo en obtener un modelo que permita

predecir si una persona gana más de 50000 u$s

por año

Page 31: 02 extraccion de conocimiento

Ejemplo : Adult_data.xls

Para cada persona se conoce

Edad, sexo, estado civil, nivel educativo.

Tipo de trabajo, nro. de hs.semanales que trabaja.

Raza y país de origen

Capital

Si gana o no más de 50000 u$s al año (clase)

Algunos atributos están incompletos. Hay valores

faltantes.

Page 32: 02 extraccion de conocimiento

Ejemplo. Metadatos

Page 33: 02 extraccion de conocimiento

Ejemplo. Metadatos

Page 34: 02 extraccion de conocimiento

Atributo Edad

Para atributos numéricos

pueden utilizarse los

diagramas de caja que

permiten conocer la mediana

y la distancia intercuartil.

Debemos decidir que hacer

con los valores fuera de

rango (outliers).

Page 35: 02 extraccion de conocimiento

Atributo Edad

También se pueden realizar agrupamientos

(clusters) para determinar elementos aislados

0 20 40 60 80 100 120 140 160 180 200-1

0

1

Centro = 24.0389

Desviación = 3.8427

Centro = 36.3780

Desviación = 3.4239

Centro = 48.2693

Desviación = 3.6525

Centro = 63.3050

Desviación = 7.2315

Page 36: 02 extraccion de conocimiento

Atributo Sex

El histograma

muestra que hay

dos valores muy

poco frecuentes.

Se deben a

errores de tipeo

o a errores en la

integración de

datos.

Page 37: 02 extraccion de conocimiento

Histograma

Haga otras representaciones

sobre atributos numéricos y

nominales

Page 38: 02 extraccion de conocimiento

H T T P : / / R A P I D - I . C O M

RAPID MINER HERRAMIENTA DE MINERÍA DE DATOS

Page 39: 02 extraccion de conocimiento

RAPID MINER

• Es un entorno para experimentación de análisis de

datos que posee implementadas distintas

estrategias de Minería de Datos.

• Es de distribución libre.

• Opera a través de la conexión de componentes

visuales.

Page 40: 02 extraccion de conocimiento

EJEMPLO : ADULT_DATA.XLS

• Utilicemos Rapid Miner para analizar la información disponible.

• Antes de comenzar, asegúrese de que dispone del archivo adult_data.xls.

• De no ser así, descárguelo de la plataforma o del directorio de DropBox.

Page 41: 02 extraccion de conocimiento
Page 42: 02 extraccion de conocimiento
Page 43: 02 extraccion de conocimiento
Page 44: 02 extraccion de conocimiento
Page 45: 02 extraccion de conocimiento

El paso 2 permite elegir la hoja con

los datos cargar dentro del archivo

Excel.

Como es la correcta, no es

necesario indiciar nada aquí

Page 46: 02 extraccion de conocimiento

Clickee aquí para que se

despliegue la lista

Page 47: 02 extraccion de conocimiento

Seleccione Name

Page 48: 02 extraccion de conocimiento

Cada variable tiene

su tipo identificado.

Para armar algunos modelos

es preciso indicar cual es el

atributo que identifica la

clase

Page 49: 02 extraccion de conocimiento
Page 50: 02 extraccion de conocimiento

Elija un lugar dentro del

repositorio para grabar los datos y

escriba un nombre para el archivo

Page 51: 02 extraccion de conocimiento

En la solapa Repositories

puede verse la base

cargada

Arrastrar y soltar sobre el

área Main Process

Page 52: 02 extraccion de conocimiento

Conectar y ejecutar

Permiten alternar entre los

datos y el proceso

Page 53: 02 extraccion de conocimiento

Después de ejecutar, se

puede ver la información.

Esto son los Metadatos

Page 54: 02 extraccion de conocimiento

Analice los siguientes

diagramas de caja.

Qué puede decir de

las edades con

respecto a la

ganancia anual?

Puede decir cuál es la

clase más numerosa?

Page 55: 02 extraccion de conocimiento

Limpieza - Valores faltantes

Qué hacer con los valores nulos?

Ignorar la tupla.

Rellenar la tupla manualmente.

Usar una constante global para rellenar el valor nulo.

Utilizar el valor de la media u otra medida de centralidad para rellenar el valor.

Utilizar el valor de la media u otra medida de centralidad de los objetos que pertenecen la misma clase.

Utilizar alguna herramienta de Minería de Datos para calcular el valor más probable.

Page 56: 02 extraccion de conocimiento

Reemplazando los valores faltantes

Page 57: 02 extraccion de conocimiento

Reemplazando los valores faltantes

Falta configurarlo

Page 58: 02 extraccion de conocimiento

Reemplazando los valores faltantes

Operación a realizar

Page 59: 02 extraccion de conocimiento

Reemplazando los valores faltantes

Verifique que no hay datos faltantes

Page 60: 02 extraccion de conocimiento

Transformación de atributos

Es una de las etapas más importantes porque de

ella depende el éxito del proceso.

Los atributos serán transformados según las

necesidades del algoritmo a aplicar.

Es probable que deban derivarse variables nuevas.

También es posible que se reduzcan variables

convirtiéndolas en información más significativa.

Page 61: 02 extraccion de conocimiento

Transformación de atributos

Reducción de dimensionalidad

Cambia el espacio de entrada por otro que tiene

menor dimensión.

Se busca mejorar la relación entre la cantidad de

ejemplos y la cantidad de atributos.

Ejemplos

Análisis de componentes principales (PCA)

Red SOM (self-organizing maps)

Page 62: 02 extraccion de conocimiento

Transformación de atributos

Aumento de la dimensionalidad a través de la

creación de características

Atributos numéricos : se utiliza suma, resta, producto,

división, máximo, mínimo, media, cuadrado, raíz cuadrada,

seno, coseno, etc.

Fechas: brindan poca información si se las usa directamente.

«Fecha»

03/09/2012

«Mes» : 9

«DiaSem» : lunes

«DiaHabil» : TRUE

Page 63: 02 extraccion de conocimiento

Transformación de atributos

Aumento de la dimensionalidad a través de la

creación de características

Atributos nominales:

Se utilizan las operaciones lógicas, igualdad o

desigualdad, condiciones M-de-N (TRUE si al menos M

de las N condiciones son verdaderas).

Se puede generar un valor numérico a partir de

valores nominales, por ejemplo, las variables X-de-N

(retorna el entero X de las N condiciones que son

ciertas)

Page 64: 02 extraccion de conocimiento

Ejemplo de creación de atributos

Atributo derivado Fórmula

Indice de obesidad Altura2 / peso

Hombre familiar Casado, varón e (hijos > 0)

Síntomas SARS 3-de-5 (fiebre alta, vómitos, tos, diarrea, dolor de

cabeza)

Riesgo de póliza X-de-N (edad<25, varón, años que conduce<2, vehículo

deportivo)

Beneficios Brutos Ingresos – Gastos

Beneficios netos Ingresos – Gastos – Impuestos

Desplazamiento Pasajeros * kilómetro

Duración media Segundos de llamada / número de llamadas

Densidad Población / Area

Retardo compra Fecha compra – Fecha campaña

Page 65: 02 extraccion de conocimiento

Generemos un nuevo atributo

utilizando el componente

Generate Attributes

Antes de

ejecutarlo haga

click aquí para

configurarlo

Page 66: 02 extraccion de conocimiento

Generación de un nuevo atributo

Nombre del

nuevo atributo

definición

Page 67: 02 extraccion de conocimiento

Generación de un nuevo atributo

if(Age<21,"MENOR","MAYOR")

Page 68: 02 extraccion de conocimiento

Histograma del atributo generado

Page 69: 02 extraccion de conocimiento

Transformación de atributos

Discretización

Convierte un valor numérico en un nominal ordenado

(que representa un intervalo o "bin")

Ejemplo: Podemos transformar

la edad de la persona en categorías: [0,12] niño,

(12-21) joven, [21,65] adulto y >65 anciano.

La calificación de un alumno en: [4,10] aprobado o

[0,4) desaprobado

Page 70: 02 extraccion de conocimiento

Transformación de atributos

Discretización

Puede discretizarse en un número fijo de intervalos. El

ancho del intervalo se calcula

Dividiendo el rango en partes iguales

Dividiendo la cantidad de ejemplos en partes iguales

(igual frecuencia)

También puede definirse la cantidad de elementos por

intervalo

Page 71: 02 extraccion de conocimiento

Discretización en Rapid Miner

Pruebe discretizar

los atributos

numéricos con este.

Page 72: 02 extraccion de conocimiento

Discretización en 4 intervalos

Discretize by binning (number of bins = 4)

Page 73: 02 extraccion de conocimiento

Discretización en 4 intervalos

Discretize by frequency (number of bins = 4)

Page 74: 02 extraccion de conocimiento

Transformación de atributos

Numerización

En ocasiones los atributos nominales u ordinales deben

convertirse en números.

Para los nominales suele utilizarse una representación

binaria y para los ordinales suele utilizarse una

representación entera.

Es importante considerar que si se numeran en forma

correlativa los valores de un atributo nominal se

agrega un orden que originalmente no está presente

en la información disponible.

Page 75: 02 extraccion de conocimiento

Conversión de tipos con RM

Page 76: 02 extraccion de conocimiento

Nominal de Numérico

Indica el tipo de

codificación a utilizar

Page 77: 02 extraccion de conocimiento

Transformación de atributos

Normalización

Se aplica según el modelo que se va a construir.

La más común es la normalización lineal uniforme

Es muy sensible a valores fuera de rango (outliers).

Si se recortan los extremos se obtiene valor negativos

y/o mayores a 1.

Page 78: 02 extraccion de conocimiento

Transformación de atributos

Normalización

Existen otras transformaciones. Por ejemplo, si los datos

tienen distribución normal se pueden tipificar

De esta forma los datos se distribuyen normalmente

alrededor de 0 con desviación 1.

Page 79: 02 extraccion de conocimiento

Normalización

Page 80: 02 extraccion de conocimiento

Normalización usando RM

Indica el método a

aplicar

Page 81: 02 extraccion de conocimiento

Fases del proceso de KDD

Pasemos a la fase de modelado

Page 82: 02 extraccion de conocimiento

Fase de Modelado

Es la fase central del descubrimiento del

conocimiento.

Se usan los datos procesados previamente y se les

aplican los algoritmos de búsqueda del

conocimiento.

Hay distintos tipos de algoritmos según el modelo

que se desee obtener.

La elección del algoritmo a aplicar depende del

tipo de problema de resolver.

Page 83: 02 extraccion de conocimiento

Ej.de problemas de Data Mining

Predecir el nivel de morosidad de un cliente.

Saber quienes son mis clientes.

Encontrar el perfil del comprador del producto A.

Encontrar los síntomas de enfermedades que suelen aparecen juntos.

Encontrar las características de la población fumadora.

Detectar alumnos en escuelas con alto riesgo de fracaso escolar.

Page 84: 02 extraccion de conocimiento

Clasificación de problemas

Problemas descriptivos: Aquellos cuya meta es

encontrar una descripción de los datos en estudio

Ejemplos: cuales son los clientes de una organización,

qué productos habitualmente se compran juntos.

Problemas Predictivos : Aquellos que buscan

obtener un modelo que en un futuro pueda ser

aplicado para predecir comportamiento

Ejemplo: poder predecir si un cliente nuevo que llega al

banco pidiendo un préstamo va a devolverlo o no.

Page 85: 02 extraccion de conocimiento

Tipos de problemas descriptivos

Problemas de Clustering

Buscan agrupar los datos de manera de formar grupos

lo más homogéneos que sea posible.

Ejemplo: Hallar el perfil de los clientes del producto A.

Problemas de asociación

Buscan obtener relaciones entre los valores de los

atributos de una base de datos.

Ejemplo: Qué productos se compran juntos?

Page 86: 02 extraccion de conocimiento

Tipos de problemas predictivos

Problemas de clasificación

Aquellos en los que la variable a predecir tiene un número finito de valores (variable categórica).

Ejemplo: se busca obtener un modelo que dado un nuevo cliente pueda clasificarlo como “bueno”, “regular” o “malo”.

Problemas de predicción de valores

Aquellos en los que la variable a predecir es numérica.

Ejemplo: Obtener un modelo que dado un paciente nuevo determine la probabilidad de que tenga cierta enfermedad.

Page 87: 02 extraccion de conocimiento

Técnicas para problemas descriptivos

Problemas de Clustering

K – Medias

Redes Neuronales SOM (self-organizing maps)

Problemas de asociación

Reglas de Asociación

Arboles de decisión

Page 88: 02 extraccion de conocimiento

Técnicas para problemas predictivos

Problemas de clasificación

Redes Neuronales

Arboles de clasificación

Problemas de predicción de valores

Redes Neuronales con entrenamiento por

gradiente.

Page 89: 02 extraccion de conocimiento

89

Técnicas de Minería de Datos

Analizaremos

Arboles de decisión

Reglas de clasificación y asociación

Redes Neuronales

Métodos de clustering

Page 90: 02 extraccion de conocimiento

Fases del proceso de KDD

Es un proceso iterativo que puede

llevar a repetir las fases anteriores