Transcript Datos
Curso de Minería de datos Luis Pelayo Guerra Velasco José María Peña Sánchez Víctor Robles Forcada Facultad de Informática, UPM Mayo de 2008 Índice Introducción Preprocesado Modelos descriptivos Modelos predictivos Validación Índice Introducción Preprocesado Modelos descriptivos Modelos predictivos Validación Aproximación Una visión simplificada de la minería de datos Datos Minería de datos Modelos Los “modelos” son el producto de la minería de datos... ...y dan soporte a las estrategias de decisión que se tomen Datos y Modelos => Conocimiento Los datos se obtienen de: Modelos descriptivos: identifican patrones que explican o resumen los datos Bases de datos (relacionales, espaciales, temporales, documentales, multimedia, etc) World Wide Web Reglas de asociación: expresan patrones de comportamiento en los datos Clustering: agrupación de casos homogéneos Modelos predictivos: estiman valores de variables de interés (a predecir) a partir de valores de otras variables (predictoras) Regresión: Variable a predecir continua Clasificación supervisada: Variable a predecir discreta Definiciones Data Mining (Minería de datos) Proceso de extraer conocimiento util y comprensible, previamente desconocido, desde grandes cantidades de datos almacenados en distintos formatos (Witten and Frank, 2000) Knowledge Discovery in Databases - KDD (Descubrimiento de Conocimiento en Bases de Datos) Proceso no trivial de identificar patrones válidos, novedosos, potencialmente útiles y, en última instancia, comprensibles, a partir de los datos (Fayyad y col. 1996) Estadística vs Minería de datos Es tadis tica Mine ria de dato s Con s t r u cción d e m od elos Ceñ id o a p r em is a s y t e or e m a s Ma yor lib er t a d e n la con s t r u cción , in t er p r et a b le Scor e Ver os im ilit u d d e los d a t os d a d o el m od elo Má s d ir ect o, PBC p or eje m p lo Bú s q u ed a Tes t d e la r a z ón d e la ver os im ilit u d Met a h eu r ís t icos Tr an s p ar en cia Má s co m p lica d os d e in t er p r et a r Má s cla r os y s en cillos Valid ación No Sí Selección d e var iab les Filt er Wr a p p er OLAP vs Minería de datos OLAP (On Line Analytical Processing) o FASMI (Fast Analysis of Shared Multidimensional Information) OLAP Mine ría de dato s ¿Cu ál es la p r op or ción m ed ia d e accid en t es en t r e fu m ad or es y n o fu m ad or es ? ¿Cu ál es la m ejor p r ed icción p ar a accid en t es ? ¿Cu ál es la fact u r a t elefón ica m ed ia d e m is clien t es y d e los q u e h an d ejad o la com p añ ia? ¿Dejar a X la com p añ ia? ¿Qu é fact or es afect an a los ab an d on ad os ? ¿Cu án t o es la com p r a m ed ia d iar ia d e t ar jet as r ob ad as y legít im as ? ¿Cu áles s on los p at r on es d e com p r a as ociad os con el fr au d e d e t ar jet as ? Aplicaciones Financieras Comercio Seguros Educación Medicina Bioinformática Otras áreas Ejemplo (I) Agente comercial: ¿Debo conceder una hipoteca a un cliente? Datos: Minería de datos Modelo generado: If Defaulter-accounts > 0 then Returns-credit = no If Defaulter-accounts = 0 and [(Salary > 2500) or (Credit-p > 10)] then Returns-credit = yes Ejemplo (II) Supermercado: ¿Cuándo los clientes compran huevos, también compran aceite? Datos: Minería de datos Modelo generado: Eggs -> Oil: Confianza = 75%, Soporte = 37% Ejemplo (III) Gestión de personal de una empresa: ¿Qué clases de empleados hay contratados? Datos: Minería de datos Modelo generado: Grupo 1: Sin niños y en una casa alquilada. Bajo número de uniones. Muchos días enfermos Grupo 2: Sin niños y con coche. Alto número de uniones. Pocos días enfermos. Más mujeres y en una casa alquilada Grupo 3: Con niños, casados y con coche. Más hombres y normalmente propietarios de casa. Bajo número de uniones Ejemplo (IV) Tienda de TV: ¿Cuántas televisiones planas se venderán el próximo mes? Datos: Minería de datos Modelo generado: Modelo lineal: número de televisiones para el próximo mes V(month)flatTV = 0.62 V(Month-1)flat-TV + 0.33 V(Month-2)flat-TV + 0.12 V(Month-1)DVD-Recorder – 0.05 CRISP-DM KDD La minería de datos se encuadra dentro de un proceso mucho mayor conocido como KDD (Knowledge Discovery from Databases) Fases del proceso iterativo e interactivo 1. Integración y recopilación de datos 2. Selección, limpieza y transformación 3. Minería de datos 4. Evaluación e interpretación 5. Difusión y uso KDD – Knowledge Discovery in Databases Fase 1 Integración y recopilación de datos Decisiones estratégicas basadas en el análisis, la planificación y la predicción: datos en varios departamentos Cada fuente de datos distintos formatos de registro, diferentes grados de agregación, diferentes claves primarias, .... Integración de múltiples bases de datos: almacenes de datos (data warehousing) Almacén de datos aconsejable cuando el volumen de información es grande. No estrictamente necesario (archivos de texto, hojas de cálculo, ...) Fase 2 Selección, limpieza y transformación Calidad del conocimiento descubierto depende (además del algoritmo de minería) de la calidad de los datos analizados Presencia de datos que no se ajustan al comportamiento general de los datos (outliers) Presencia de datos perdidos (missing values) Selección de variables relevantes (feature subset selection) Selección de casos aleatoria en bases de datos de tamaño ingente Construcción de nuevas variables que faciliten el proceso de minería de datos Discretización de variables continuas Fase 3 Minería de datos Modelos descriptivos Reglas de asociación Clustering Modelos predictivos Regresión: regresión lineal, regresión logística Clasificación supervisada: clasificadores Bayesianos, redes neuronales, árboles de clasificación, inducción de reglas, KNN, combinación de clasificadores Fase 4 Evaluación e interpretación Técnicas de evaluación: validación simple (training + test), validación cruzada con k-fold, bootstrap Reglas de asociación: cobertura (soporte), confianza Clustering: variabilidad intra y entre Regresión: error cuadrático medio Clasificación supervisada: porcentaje de bien clasificados, matriz de confusión, análisis ROC Modelos precisos, comprensibles (inteligibles) e interesantes (útiles y novedosos) Fase 5 Difusión y uso Difusión: necesario distribuir, comunicar a los posibles usuarios, integrarlo en el know-how de la organización Medir la evolución del modelo a lo largo del tiempo (patrones tipo pueden cambiar) Modelo debe cada cierto tiempo de ser: Reevaluado Reentrenado Reconstruido Herramientas Weka, Clementine, etc. Knime. KoNstanz Information MinEr Flujo de datos utilizando nodos Conexión con otras aplicaciones Ampliación de nodos Knime Índice Introducción Preprocesado Modelos descriptivos Modelos predictivos Validación Datos La parte más importante de la minería de datos, son precisamente, los datos Además de su obtención, uno de los pasos más importantes es el preprocesado Diversas técnicas según la necesidad Obtención de datos en Knime Representación de datos en Knime Missing values Es posible que los métodos a utilizar no traten bien los campos con valores faltantes (missing values) Hay que detectarlos y tratarlos Ignorar, eliminar columna, filtrar fila, reemplazar el valor, etc. Missing values en Knime Discretización Consiste en la conversión de un valor numérico en un valor nominal ordenado que representa un intervalo En ciertas técnicas de clasificación es necesario que todos los datos sean discretos Discretización en Knime Numerización Es el proceso inverso a la discretización Pasar valores nominales a numéricos Es menos común Hay dos tipos: Numerización 1 a n Numerización 1 a 1 Numerización en Knime Índice Introducción Preprocesado Modelos descriptivos Modelos predictivos Validación Tareas descriptivas Agrupamiento (clustering) Correlaciones y factorizaciones Reglas de asociación Dependencias funcionales Detección de valores e instancias anómalas Tabla de métodos DESCRIPTIVO No m b re Agru p am ien t o Re d es n eu ro n ales Reglas d e as o ciació n Co rrelacio n es / Fact o riz acio n es X Árb o les d e d ecis ió n ID3 , C4 .5 , C5 .0 Árb o les d e d ecis ió n CART Ot ro s árb o les d e d ecis ió n X Re d es d e Ko h o n en X X Regres ió n lin eal y lo garít m ica X Regres ió n lo gís t ica Km ean s X X Ap rio ri X Naive Bayes Vecim o s m ás p ró xim o s X An ális is fact o rial y d e co m p . p r in cip ales X Two s t ep , Co b web X Algo rit m o s gen ét ico s y evo lu t ivo s X Máq u in as d e vect o res s o p o rt e X CN2 ru les (co b ert u ra) An ális is d is crim in a n t e m u lt ivar ia n t e X X X Clasificación no supervisada Datos: parte de un conjunto de datos u objetos cada uno caracterizado por varias variables Se trata de obtener grupos de objetos Clustering Dados unos datos sin etiquetar, el objetivo es encontrar grupos naturales de instancias a) Particional b) Jerárquico Tipos de clustering Clustering particional Partición de los objetos en grupos o clusters. Todos los objetos pertenecen a alguno de los k clusters, los cuales son disjuntos. Problema => elección de k Clustering ascendente jerárquico Crear un dendograma, es decir, crear un conjunto de agrupaciones anidadas hasta construir un árbol jerárquico K-medias Método más utilizado de clustering particional La idea es situar los prototipos o centros en el espacio, de forma que los datos pertenecientes al mismo prototipo tengan características similares Los datos se asignan a cada centro según la menor distancia, normalmente usando la distancia euclídea Una vez introducidos todos los datos, se desplazan los prototipos hasta el centro de masas de su nuevo conjunto, esto se repite hasta que no se desplazan más. K-medias en Knime Jerárquico Dependiendo de la manera de construir el árbol: Aglomerativos: hojas -> raíz Divisivos: raíz -> hojas Dependiendo de cómo se calcule la distancia de enlace entre grupos: Enlace simple Enlace completo Enlace en la media Clustering jerárquico en Knime Índice Introducción Preprocesado Modelos descriptivos Modelos predictivos Validación Tareas predictivas Clasificación Clasificación suave Estimación de probabilidad de clasificación Categorización Preferencia o priorización Regresión Tabla de métodos Nom b r e DESCRIPTIVO Clas ificación Regr es ión Red es n eu r on ales X X Ár b oles d e d ecis ión ID3 , C4 .5 , C5 .0 X Ár b oles d e d ecis ión CART X X Otr os ár b oles d e d ecis ión X X Red es d e Koh on en Regr es ión lin eal y logar ítm ica Regr es ión logís tica X X Km ean s Ap r ior i Naive Bayes X Vecim os m ás p r óxim os X X Algor itm os gen éticos y evolu tivos X X Máq u in as d e vector es s op or te X X CN2 r u les (cob er tu r a) X An ális is d is cr im in an te m u ltivar ian te X An ális is factor ial y d e com p . p r in cip ales Twos tep , Cob web Clasificación supervisada Datos: N objetos con n+1 variables (n predictoras + clase) Inducir automaticamente un modelo clasificatorio Paradigmas de clasificación supervisada Arboles de clasificacion (Quinlan, 1986; Breiman y col. 1984) Clasificadores k–NN (Covert y Hart, 1967; Dasarathy, 1991) Regresion logística (Hosmer y Lemeshow, 1989) Métodos Bayesianos (Mitchell, 1997) Sistemas clasificadores (Holland, 1975) Redes neuronales (McCulloch y Pitts, 1943) Inducción de reglas (Clark y Nibblet, 1989; Cohen, 1995; Holte, 1993) Máquinas de soporte vectorial (Cristianini y Shawe–Taylor, 2000) Análisis discriminante (Fisher, 1936) Árboles de clasificación Método más facil de utilizar y de entender Conjunto de condiciones organizadas en una estructura jerárquica Las opciones posibles a partir de una condición son excluyentes ID3, C4.5, C5.0, CART, etc. Métodos bayesianos Basados en la teoría de la probabilidad (teorema de Bayes) Naïve Bayes es el clasificador principal Uso de redes bayesianas Se usan en tareas descriptivas y predictivas Clasificadores k-NN Se asigna la clase mayoritaria entre los k vecinos más proximos Se utiliza una función distancia Problema: Establecer un valor de k adecuado Cuando se asigna la clase del ejemplo más próximo solamente, es 1-NN Clasificación en Knime Índice Introducción Preprocesado Modelos descriptivos Modelos predictivos Validación Tipos de validación Validación interna Es en la que se aprende, clasifica y valida con los datos de un mismo conjunto Validación externa Se aprende un modelo con un conjunto de datos, y se valida con unos datos que no han sido empleados en el aprendizaje Hold-out Separar los datos disponibles en dos subconjuntos de datos: training set (para aprender un modelo) y test set (el resto de los datos) Se calcula la accuracy sobre el test set para estimar el error del modelo obtenido con el training set K-fold-Cross-Validation Se particiona aleatoriamente en k subconjuntos el conjunto de datos disponible. Para cada uno de los subconjuntos obtenidos, se utilizará de test set para evaluar el modelo obtenido con el resto de subconjuntos Se realiza la media de las evaluaciones realizadas para obtener el resultado final Leave one out Se deja una instancia de los datos como test set y se aprende con el resto del conjunto Este proceso se repite para cada instancia Se obtiene el resultado final realizando la media de todas las ejecuciones 0.632 Bootstrap Se divide en dos partes Se aprende y se valida con el mismo conjunto de datos N iteraciones de: Se seleccionan con reemplazo el mismo número de instancias que se tengan del conjunto de datos inicial Se utiliza el conjunto de datos creado como training set y se evalua con el conjunto formado por las instancias que no han sido seleccionadas en el paso anterior Se obtiene la media de las N iteraciones Resultado final: e = 0.632xEresubstitution + 0.368xEiteraciones Validación en Knime Bootstrap en Knime