Bibliografía Introducción a la Minería de Datos. Hernández Orallo, Ramirez Quintana, Ferri Ramirez. Editorial Pearson – Prentice Hall. 2004 Aprobación del curso Modalidad Asistencia requerida Presencial 70 % Semi presencial Actividades a distancia WebUNLP Convencional NO Entrega del Trabajo Integrador SI SI NO Rinde examen Parcial Final NO Evaluación Reducida (al final del curso) NO Evaluación Reducida (al final del curso) SI Deberá presentarse en una Mesa de Final Autoevaluaciones Modalidad Realización obligatoria Puntaje adicional para el Final (*) Uso del puntaje Adicional Presencial NO Hasta 2 puntos Evaluación Reducida Aprobada con nota ≥ 5 Semi presencial 70% Hasta 1 punto Evaluación Reducida Aprobada con nota ≥ 5 Convencional NO NO NO (*) 1 punto por cada 3 autoevaluaciones aprobadas con nota ≥ 4 puntos Material del Curso Toda la información y el material del curso se publicará a través de WebUNLP. webunlp.unlp.edu.ar Quienes aún no tengan acceso y se encuentren inscriptos en Guaraní deberán solicitar inscripción en el curso. Página de la cátedra weblidi.info.unlp.edu.ar/catedras/md_si EXTRACCIÓN DE CONOCIMIENTO EN BBDD 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 7 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 Cómo obtener conocimiento? PATRONES y MODELOS Relación con otras disciplinas 9 Text Mining Programa ProSanE Asignación de móviles en EM (MOPSO) Obtención de reglas de clasificación (PSO binario) SIFT paralelo Reconocimiento de rostros (SIFT + PSO) y de personas por su voz (RN) 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 crediticio Otras Aplicaciones Minería de Texto Minería de Datos en educación Data Stream Mining 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 12 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 Casa Cuentas … Devuelve propia Morosas crédito IDC D-créditos (años) C-créditos (pesos) Salario (pesos) 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 … … … … … … … … 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 13 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. DrugY 14 DrugC DrugX DrugA DrugB Ejemplo 2 15 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. Ejemplo 2 El archivo Drug5.xls contiene 200 muestras de pacientes atendidos previamente. 16 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 Ej.2. Arbol de Clasificación Ej.2. Arbol simplificado Fases del proceso de KDD 19 Fases del proceso de KDD Depende del objetivo fijado 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 Utilizar Cuantitativas 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. Ejercicio Whisky.xls Se ha relevado la siguiente información de 35 marcas de whisky PRECIO: es el precio de una botella de whisky en francos. MALTA : es la graduación de malta en porcentaje CATEGORIA : categoría comercial del whisky AÑEJAMIENTO : Tiempo de añejamiento en meses APRECIACION: Calificación de cada whisky por un jurado de expertos catadores. Ejercicio Whisky.xls ¿Cuáles son las variables a analizar y cómo clasificaría a c/u? Indique al menos dos formas de graficar la información de cada variable. Ejemplo Whisky.xls Histograma del atributo CALIDAD Calidad Frecuencia 0 5 1 2 2 13 3 10 4 5 Ejemplo Whisky.xls Diagrama de cajas del atributo PRECIO Minimo 55 1er.Cuartil 73 2do.Cuartil 83 3er.Cuartil 91,5 Maximo 160 RIC 18,5 min 45,25 max 119,25 Hay valores fuera de rango? ¿Qué es un diagrama de cajas? Es un gráfico que permite visualizar un conjunto de valores. Brinda información sobre los valores mínimo y máximo y los cuartiles. Permite determinar la existencia de valores atípicos y la simetría de la distribución. ¿Cómo se obtiene el diagrama de cajas? Paso 1: Calcular la mediana La mediana de una muestra es un valor numérico que divide la muestra en dos partes con la misma cantidad de elementos. Cómo se calcula? Primero hay que ordenar los valores de la muestra. Luego, si la cantidad de elementos es impar, la mediana es el elemento central de la muestra. Si la cantidad de elementos es par, la mediana es el promedio de los dos valores centrales. Ejemplo Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 14, 18, 2, 20, 12 Calcular la mediana Ejemplo 1 Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 14, 18, 2, 20, 12 Calcular la mediana Ordenar 2 la lista de valores 7 12 14 14 15 18 20 40 La cantidad de elementos es 9 (impar) por lo tanto el valor que se encuentra en el centro de la muestra ordenada es la mediana Ejemplo 2 Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 18, 2, 20, 12 Calcular la mediana Ordenar 2 la lista de valores 7 12 14 15 18 20 40 La cantidad de elementos es 8 (par) por lo tanto la mediana es el promedio de los dos valores centrales es decir que su valor es (14+15)/2=14.5 ¿Cómo se obtiene el diagrama de cajas? Paso 2: Calcular el 1er. y el 3er. cuartil Los cuartiles son valores que dividen a la muestra en 4 partes con la misma cantidad de elementos. Cómo se calcula el primer cuartil? Tomar el primer segmento incluyendo la mediana si la cantidad de elementos de la muestra original es impar, es decir, si la mediana coincide con un valor de la muestra. Repetir el mismo proceso utilizado para la calcular la mediana. Para el 3er.cuartil repetir el proceso con el 2do. segmento Ejemplo 1 Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 14, 18, 2, 20, 12 Antes calculamos la mediana Lista de valores ordenados 2 7 12 14 14 15 18 20 40 MEDIANA Como la mediana es uno de los valores de la muestra se incluye este valor en el segmento a dividir. Ejemplo 1 Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 14, 18, 2, 20, 12 Antes calculamos la mediana Lista de valores ordenados 2 7 12 14 14 15 18 20 40 MEDIANA Como la mediana es uno de los valores de la muestra se incluye este valor en el segmento a dividir. Ejemplo 1 Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 14, 18, 2, 20, 12 Calcular el primer cuartil 2 7 12 14 14 15 18 20 40 1er.cuartil Ejemplo 1 Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 14, 18, 2, 20, 12 Calcular el primer cuartil 2 7 12 14 14 15 18 20 40 3er.cuartil Ejemplo 2 Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 18, 2, 20, 12 Antes calculamos la mediana Lista de valores ordenados 2 7 12 14 15 18 20 40 MEDIANA = 14.5 Como la mediana NO es uno de los valores de la muestra cada segmento tiene sólo 4 elementos. Ejemplo 2 Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 18, 2, 20, 12 Calcular el primer cuartil 2 7 12 14 1er.cuartil = (7+12)/2 = 9,5 15 18 20 40 Ejemplo 2 Se dispone de los siguientes valores de cierto atributo 15, 14, 40, 7, 18, 2, 20, 12 Calcular el primer cuartil 2 7 12 14 15 18 20 40 3er.cuartil = (18+20)/2 = 19 Diagrama de Caja 3er cuartil 18.00 Mediana 14.00 1er. cuartil 12.00 Calcular el diagrama de caja correspondientes a los siguientes valores de cierto atributo 15, 14, 40, 7, 14, 18, 2, 20, 12 1er.cuartil 3er.cuartil Mediana = 2do.cuartil Cómo se calculan los bigotes? Calcular el Rango Intercuartil (RI) RI = 3er.cuartil – 1er.cuartil Los bigotes indican el rango de los valores de la muestra comprendidos en el intervalo [1er.cuartil – 1.5 * RI ; 3er.cuartil + 1.5 * RI] Diagrama de Caja Dada la muestra 15, 14, 40, 7, 14, 18, 2, 20, 12 3er cuartil 18.00 Mediana 1er. cuartil 14.00 12.00 Luego RI = 18-12 = 6. Los bigotes cubren los valores de la muestra entre 12-1.5*6=3 y 18+1.5*6=27. El primer valor mayor que 3 es 7. El primer valor inferior a 27 es 20. Diagrama de Caja 3er cuartil 18.00 Mediana 14.00 1er. cuartil 12.00 Calcular el diagrama de caja correspondientes a los siguientes valores de cierto atributo 15, 14, 40, 7, 14, 18, 2, 20, 12 7 20 1er.cuartil 3er.cuartil Mediana = 2do.cuartil Diagrama de Caja 3er cuartil 18.00 Mediana 14.00 1er. cuartil 12.00 Calcular el diagrama de caja correspondientes a los siguientes valores de cierto atributo 15, 14, 40, 7, 14, 18, 2, 20, 12 7 20 Fuera de rango Fuera de rango 1er.cuartil 3er.cuartil Mediana = 2do.cuartil Ejemplo 2 Calcule el diagrama de caja de la muestra 15, 14, 40, 7, 18, 2, 20, 12 Antes vimos que 3er cuartil 19.00 Mediana 1er. cuartil 14.50 9.50 http://boxplot.tyerslab.com/ BoxPlotR http://boxplot.tyerslab.com/ BoxPlotR http://boxplot.tyerslab.com/ BoxPlotR http://boxplot.tyerslab.com/ 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 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. Es preciso analizar los metadatos RAPID MINER HERRAMIENTA DE MINERÍA DE DATOS HTTP://RAPID-I.COM 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 : WHISKY.XLS • Utilicemos Rapid Miner para analizar la información disponible. • Antes de comenzar, asegúrese de que dispone del archivo WhiskyConFaltantes.xls. • De no ser así, puede descargarlo de siguiente URL weblidi.info.unlp.edu.ar/catedras/md_si Read Excel Arrastrar y soltar sobre el área Main Process whiskyConFaltantes.xls 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í Seleccione Name Verifique que aquí aparecen los nombres de los atributos Cada variable tiene su tipo identificado. Quite el tilde Para armar algunos modelos es preciso indicar cual es el atributo que identifica la clase Permiten alternar entre los datos y el proceso Conectar y ejecutar 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 Diagrama de Cajas (Quartile Color) ¿Puede afirmarse que la Calidad 3 tiene más ejemplos que la Calidad 2? Atributo CATEGORIA Utilice el operador MAP Atributo CATEGORIA Falta configurar Atributo CATEGORIA Atributo CATEGORIA Verifique los resultados 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. «Mes» : 9 «Fecha» 03/09/2012 «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 Generando un nuevo atributo Generemos un nuevo atributo utilizando el componente Generate Attributes Generando un nuevo atributo Operador 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 (Precio<=100,"NO","SI") Histograma del atributo generado Ejercicio El atributo Precio presenta valores fuera de rango extremos. Genere un nuevo atributo VALOR que contenga los mismos valores que el atributo Precio salvo que en caso de ser un valor extremo cambiará su valor por el más cercano dentro de la muestra que no se encuentre fuera de rango. 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 intervalo puede definirse la cantidad de elementos por 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 Arboles de clasificación Reglas de clasificación Redes Neuronales Problemas de predicción de valores Redes Neuronales con entrenamiento por gradiente. Técnicas de Minería de Datos 112 Analizaremos Arboles Reglas Redes de decisión de clasificación y asociación Neuronales Técnicas de clustering Fases del proceso de KDD Es un proceso iterativo que puede llevar a repetir las fases anteriores