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

02 extraccion de conocimiento

  • 1.
  • 2.
    Bibliografía  Introducción ala 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
  • 3.
    Introducción  Los avancestecnoló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.
  • 4.
    Extracción de conocimientoen 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
  • 5.
    Extracción de conocimientoen 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
  • 6.
    Relación con otrasdisciplinas 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)
  • 7.
    Aplicaciones 7  Análisis debases de datos y soporte de decisiones  Análisis y gestión de mercado.
  • 8.
    Aplicaciones 8  Análisis debases 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).
  • 9.
    Aplicaciones 9  Análisis debases 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
  • 10.
    Aplicaciones 10  Análisis debases 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.
  • 11.
    Aplicaciones 11  Análisis debases 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.
  • 12.
    Minería de Datosvs 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.
  • 13.
    Tipo de conocimientoa 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.
  • 14.
    Ej.1 : Análisisde 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
  • 15.
    Ejemplo 2  Sebusca 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
  • 16.
    Ejemplo 2  Paraello 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
  • 17.
    Ejemplo 2 Nro. AgeSex 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.
  • 18.
    Ej.2. Arbol deClasificación
  • 19.
  • 20.
    Ejemplo  Supóngase quese 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
  • 21.
    Ejemplo. Consulta SQL IdNombre 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
  • 22.
  • 23.
    Fases del procesode KDD Depende del objetivo fijado
  • 24.
    Fases del procesode KDD Por qué es necesaria?
  • 25.
    Fase de Preparaciónde 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)
  • 26.
    Limpieza de losdatos  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
  • 27.
    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)
  • 28.
    Analizando los datosdisponibles  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.
  • 29.
    Limpieza - Variablescon 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.
  • 30.
    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
  • 31.
    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.
  • 32.
  • 33.
  • 34.
    Atributo Edad  Paraatributos 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).
  • 35.
    Atributo Edad  Tambiénse 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
  • 36.
    Atributo Sex  Elhistograma muestra que hay dos valores muy poco frecuentes.  Se deben a errores de tipeo o a errores en la integración de datos.
  • 37.
    Histograma Haga otrasrepresentaciones sobre atributos numéricos y nominales
  • 38.
    H T TP : / / R A P I D - I . C O M RAPID MINER HERRAMIENTA DE MINERÍA DE DATOS
  • 39.
    RAPID MINER • Esun 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.
  • 40.
    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.
  • 45.
     El paso2 permite elegir la hoja con los datos cargar dentro del archivo Excel.  Como es la correcta, no es necesario indiciar nada aquí
  • 46.
    Clickee aquí paraque se despliegue la lista
  • 47.
  • 48.
    Cada variable tiene sutipo identificado. Para armar algunos modelos es preciso indicar cual es el atributo que identifica la clase
  • 50.
    Elija un lugardentro del repositorio para grabar los datos y escriba un nombre para el archivo
  • 51.
    En la solapaRepositories puede verse la base cargada Arrastrar y soltar sobre el área Main Process
  • 52.
    Conectar y ejecutar Permitenalternar entre los datos y el proceso
  • 53.
    Después de ejecutar,se puede ver la información. Esto son los Metadatos
  • 54.
     Analice lossiguientes 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?
  • 55.
    Limpieza - Valoresfaltantes  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.
  • 56.
  • 57.
    Reemplazando los valoresfaltantes Falta configurarlo
  • 58.
    Reemplazando los valoresfaltantes Operación a realizar
  • 59.
    Reemplazando los valoresfaltantes  Verifique que no hay datos faltantes
  • 60.
    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.
  • 61.
    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)
  • 62.
    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
  • 63.
    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)
  • 64.
    Ejemplo de creaciónde 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
  • 65.
    Generemos un nuevoatributo utilizando el componente Generate Attributes Antes de ejecutarlo haga click aquí para configurarlo
  • 66.
    Generación de unnuevo atributo Nombre del nuevo atributo definición
  • 67.
    Generación de unnuevo atributo if(Age<21,"MENOR","MAYOR")
  • 68.
  • 69.
    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
  • 70.
    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
  • 71.
    Discretización en RapidMiner Pruebe discretizar los atributos numéricos con este.
  • 72.
    Discretización en 4intervalos  Discretize by binning (number of bins = 4)
  • 73.
    Discretización en 4intervalos  Discretize by frequency (number of bins = 4)
  • 74.
    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.
  • 75.
  • 76.
    Nominal de Numérico Indicael tipo de codificación a utilizar
  • 77.
    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.
  • 78.
    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.
  • 79.
  • 80.
    Normalización usando RM Indicael método a aplicar
  • 81.
    Fases del procesode KDD Pasemos a la fase de modelado
  • 82.
    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.
  • 83.
    Ej.de problemas deData 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.
  • 84.
    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.
  • 85.
    Tipos de problemasdescriptivos  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?
  • 86.
    Tipos de problemaspredictivos  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.
  • 87.
    Técnicas para problemasdescriptivos  Problemas de Clustering K – Medias Redes Neuronales SOM (self-organizing maps)  Problemas de asociación Reglas de Asociación Arboles de decisión
  • 88.
    Técnicas para problemaspredictivos  Problemas de clasificación Redes Neuronales Arboles de clasificación  Problemas de predicción de valores Redes Neuronales con entrenamiento por gradiente.
  • 89.
    89 Técnicas de Mineríade Datos  Analizaremos  Arboles de decisión  Reglas de clasificación y asociación  Redes Neuronales  Métodos de clustering
  • 90.
    Fases del procesode KDD Es un proceso iterativo que puede llevar a repetir las fases anteriores