Upload
coordinador-formosa
View
33
Download
0
Embed Size (px)
Citation preview
EXTRACCIÓN DE
CONOCIMIENTO EN BBDD
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
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.
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
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
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)
Aplicaciones 7
Análisis de bases de datos y soporte de decisiones
Análisis y gestión de mercado.
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).
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
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.
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.
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.
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.
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
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
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
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.
Ej.2. Arbol de Clasificación
Ej.2. Arbol simplificado
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
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
Fases del proceso de KDD 22
Fases del proceso de KDD
Depende del objetivo fijado
Fases del proceso de KDD
Por qué es necesaria?
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)
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
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)
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.
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.
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
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.
Ejemplo. Metadatos
Ejemplo. Metadatos
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).
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
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.
Histograma
Haga otras representaciones
sobre atributos numéricos y
nominales
H T T P : / / R A P I D - I . C O M
RAPID MINER HERRAMIENTA DE MINERÍA DE DATOS
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.
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.
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í
Clickee aquí para que se
despliegue la lista
Seleccione Name
Cada variable tiene
su tipo identificado.
Para armar algunos modelos
es preciso indicar cual es el
atributo que identifica la
clase
Elija un lugar dentro del
repositorio para grabar los datos y
escriba un nombre para el archivo
En la solapa Repositories
puede verse la base
cargada
Arrastrar y soltar sobre el
área Main Process
Conectar y ejecutar
Permiten alternar entre los
datos y el proceso
Después de ejecutar, se
puede ver la información.
Esto son los Metadatos
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?
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.
Reemplazando los valores faltantes
Reemplazando los valores faltantes
Falta configurarlo
Reemplazando los valores faltantes
Operación a realizar
Reemplazando los valores faltantes
Verifique que no hay datos faltantes
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.
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)
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
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)
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
Generemos un nuevo atributo
utilizando el componente
Generate Attributes
Antes de
ejecutarlo haga
click aquí para
configurarlo
Generación de un nuevo atributo
Nombre del
nuevo atributo
definición
Generación de un nuevo atributo
if(Age<21,"MENOR","MAYOR")
Histograma del atributo generado
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
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
Discretización en Rapid Miner
Pruebe discretizar
los atributos
numéricos con este.
Discretización en 4 intervalos
Discretize by binning (number of bins = 4)
Discretización en 4 intervalos
Discretize by frequency (number of bins = 4)
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.
Conversión de tipos con RM
Nominal de Numérico
Indica el tipo de
codificación a utilizar
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.
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.
Normalización
Normalización usando RM
Indica el método a
aplicar
Fases del proceso de KDD
Pasemos a la fase de modelado
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.
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.
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.
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?
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.
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
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.
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
Fases del proceso de KDD
Es un proceso iterativo que puede
llevar a repetir las fases anteriores