La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso de Minería de datos

Presentaciones similares


Presentación del tema: "Curso de Minería de datos"— Transcripción de la presentación:

1 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

2 Índice Introducción Preprocesado Modelos descriptivos
Modelos predictivos Validación

3 Índice Introducción Preprocesado Modelos descriptivos
Modelos predictivos Validación

4 Aproximación Una visión simplificada de la minería de datos
Los “modelos” son el producto de la minería de datos... ...y dan soporte a las estrategias de decisión que se tomen Datos Minería de datos Modelos La minería de datos se puede ver como un proceso el cual, partiendo de unos datos de entrada, genera unos modelos de salida. Estos modelos, de los que se hablará de forma más detallada posteriormente, serán los que permitan tomar decisiones estratégicas basandose en la información extraída de los datos.

5 Datos y Modelos => Conocimiento
Los datos se obtienen de: Bases de datos (relacionales, espaciales, temporales, documentales, multimedia, etc)‏ World Wide Web Modelos descriptivos: identifican patrones que explican o resumen los datos 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 Utilizando la minería de datos, y a partir de unos datos, se obtienen ciertos modelos que son los que servirán para obtener el conocimiento posterior. Las fuentes de obtención de datos son principalmente las bases de datos, de diferentes tipos según los datos que se quieran obtener, e Internet. Los modelos que se obtienen pueden ser de dos tipos principalmente: descriptivos o predictivos. Y dentro de cada uno existen más subdivisiones. Cada tipo de modelo se explica con detalle en su apartado correspondiente dentro del curso actual.

6 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)‏ Existen variadas definiciones de minería de datos, las cuales se pueden resumir en la de Witten y Frank. Realmente, la minería de datos es la aplicación de ciertas técnicas y algoritmos que permitan extraer patrones de los datos, mientras que la extracción de conocimiento útil se engloba en un proceso mucho mayor, el KDD. Por lo tanto, la minería de datos es una etapa dentro de KDD.

7 Estadística vs Minería de datos
La minería de datos está muy relacionada con otras disciplinas, algunas como el aprendizaje automático, reconocimiento de patrones, sistemas para la toma de decisión o visualización de datos, sirven como base para muchos de los algoritmos y herramientas para tratar los datos. Datos que están almacenados o se encuentran gracias a otras disciplinas, como las bases de datos o la recuperación de la información. Una de las disciplinas más importantes de las que están relacionadas con la minería de datos, es la estadística. Se podría decir que es la ``madre'' de la minería de datos, existen ciertos aspectos que marcan las diferencias entre ambas.

8 OLAP vs Minería de datos
OLAP (On Line Analytical Processing) o FASMI (Fast Analysis of Shared Multidimensional Information) Frente a la minería de datos, existe otra disciplina conocida como OLAP, es decir, procesamiento analítico en linea. Es una solución utilizada en el campo de la llamada Inteligencia empresarial (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandes cantidades de datos. En la base de cualquier sistema OLAP se encuentra el concepto de cubo OLAP (también llamado cubo multidimensional o hipercubo). Se compone de hechos numéricos llamados medidas que se clasifican por dimensiones. El cubo de metadatos es típicamente creado a partir de un esquema de estrella o copo de nieve, esquema de las tablas en una base de datos relacional. Las medidas se obtienen de los registros de una tabla de hechos y las dimensiones se derivan de la dimensión de los cuadros.

9 Aplicaciones Financieras Comercio Seguros Educación Medicina
Bioinformática Otras áreas Las aplicaciones de la minería de datos son muy extensas y variadas dentro del día a día del mundo real: Financieras: Detección de uso fradulento de tarjetas de crédito, predicción del gasto en tarjeta de crédito por grupos, análisis de riesgos en concesión de créditos, identificación de reglas de mercado a partir de datos históricos, reconocimiento de clientes “infieles”, etc. Comercio: Análisis de la cesta de la compra, evaluación de las campañas publicitarias, segmentación de clientes, estimación de stock, costes o ventas, etc. Seguros: Determinación de clientes potencialmente caros, predicción de qué tipo de clientes contratan nuevas polizas, identificación de patrones de comportamiento para clientes con riesgo, identificación de comportamiento fradulento, etc. Educación: Selección o captación de estudiantes, detección de abandonos o fracasos, estimación del tiempo de estancia en la institución, etc. Medicina: Diagnóstico de enfermedades, detección de pacientes con riesgo de sufrir una patología concreta, gestión hospitalaria y asistencial, tratamiento de imágenes médicas, etc. Bioinformática: Búsqueda de genes, predicción de la estructura secundaria de las proteínas, clasificación de microarrays de ADN, etc. Otras áreas: Clasificación de correo electrónico (SPAM), detección de fraudes fiscales para Hacienda, detección de riesgo de lesiones deportivas, análisis del comportamiento de usuarios en navegación web, etc.

10 Agente comercial: ¿Debo conceder una hipoteca a un cliente?
Ejemplo (I)‏ Agente comercial: ¿Debo conceder una hipoteca a un cliente? Datos: Modelo generado: Minería de datos Se van a ver ahora cuatro ejemplos de aplicación de la minería de datos a situaciones reales. El primero de ellos es el de un agente comercial de un banco, que se plantea si debe conceder una hipoteca a un cliente o no. Para ello lo que hará será estudiar los datos disponibles en el archivo del banco para ver el comportamiento que han tenido los clientes hasta ese momento, y posteriormente clasificará según unas reglas obtenidas, a los nuevos clientes que vayan llegando para ver si se les conceden las hipotecas o no. If Defaulter-accounts > 0 then Returns-credit = no If Defaulter-accounts = 0 and [(Salary > 2500) or (Credit-p > 10)] then Returns-credit = yes

11 Eggs -> Oil: Confianza = 75%, Soporte = 37%
Ejemplo (II)‏ Supermercado: ¿Cuándo los clientes compran huevos, también compran aceite? Datos: Modelo generado: Minería de datos El segundo ejemplo es el del análisis de la cesta de la compra de los clientes de un supermercado. Analizando esto se puede saber qué productos compran ciertos clientes, para intentar encontrar patrones de compra y poder, por ejemplo, distribuir mejor (es decir, de manera más atractiva para su compra), los productos por el supermercado Eggs -> Oil: Confianza = 75%, Soporte = 37%

12 Ejemplo (III)‏ Gestión de personal de una empresa: ¿Qué clases de empleados hay contratados? Datos: Modelo generado: Minería de datos Otro ejemplo práctico de aplicación de la minería de datos al mundo real, es el estudio del personal de una empresa. Esto puede ser interesante para analizar el comportamiento de cada empleado y su productividad, ya sea para estimar rendimientos del personal actual o para intentar encontrar qué perfiles son los más interesantes en futuros procesos de selección. 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

13 Ejemplo (IV)‏ Tienda de TV: ¿Cuántas televisiones planas se venderán el próximo mes? Datos: Modelo generado: Minería de datos Y, por último, la cuarta aplicación es el estudio de las ventas de una tienda comercial. Realizando los análisis pertinentes, se puede intentar estimar como van a ser las ventas en tiempos posteriores para tomar las decisiones estratégicas de mercado más adecuadas en cada situación. Modelo lineal: número de televisiones para el próximo mes V(month)flatTV = 0.62 V(Month-1)flat-TV V(Month-2)flat-TV V(Month-1)DVD-Recorder – 0.05

14 CRISP-DM CRISP-DM (CRoss Industry Standard Process for DataMining) es una metodología estándar para la realización de proyectos de minería de datos que reduce el tiempo de recuperación de la inversión realizada. El modelo de proceso proporciona una descripción del ciclo de vida de un proyecto, conteniendo sus correspondientes fases, tareas y las relaciones entre estas tareas. No es posible identificar a este nivel de descripción todas las relaciones, al existir éstas probablemente entre todas las tareas existentes dependiendo de los objetivos, motivos, intereses de los usuarios y, por supuesto, de los datos. El ciclo de vida de un proceso de mineria de datos consta de 6 fases cuya secuencia no es estricta sino dependiente del resultado de la última fase llevada a cabo. El círculo externo simboliza la naturaleza cíclica de la minería de datos y las flechas pequeñas indican las dependencias más importantes y frecuentes entre fases. Comprensión del negocio (Business Understanding: Esta fase inicial se centra en la comprensión de los objetivos y requisitos del proyecto desde una perspectiva del cliente final para, posteriormente, diseñar un plan preliminar que defina el problema y permita la consecución de los objetivos. Comprensión de los datos (Data Understanding): La fase de comprensión de los datos comienza con una colección inicial de datos y lleva a cabo acciones para familiarizarse con ellos, medir su calidad, descubrir primeras ideas e, incluso, plantear hipótesis o subconjuntos de información que permitan descubrir tendencias ocultas. Preparación de datos (Data Preparation): En la fase de preparación de los datos, se realizará una serie de transformaciones para obtener el conjunto final de datos que alimentará los algoritmos usados para la generación de modelos. Modelado (Modeling): En esta fase en la que se aplican diversos algoritmos a los datos, calibrando sus parámetros con valores óptimos. Es muy habitual volver a la fase anterior por tener algunas de estas técnicas requisitos específicos sobre los datos o por cambios en el plan inicial debido a la extracción de nueva información durante esta fase. Evaluación (Evaluation): Al llegar a esta fase ya se tiene al menos un modelo válido, desde el punto de vista del análisis de datos. Antes de llegar a la fase final, se evaluará en profundidad cada uno de los modelos revisando los pasos seguidos en su construcción para verificar la consecución de los objetivos y evitar que cualquier omisión impida alcanzar la mejor decisión posible. Implantación (Deployment): Fase de aplicación de los modelos generados en un entorno de producción normal, de tal forma que los resultados sean organizados y presentados de forma útil para el cliente. Esta suele considerarse la última fase del proyecto pero no es así, puesto que los datos obtenidos en esta fase pueden realimentar nuevamente los modelos para mejorar las estimaciones realizadas.

15 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 Integración y recopilación de datos Selección, limpieza y transformación Minería de datos Evaluación e interpretación Difusión y uso

16 KDD – Knowledge Discovery in Databases

17 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, ...)‏

18 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

19 Fase 3 Minería de datos Modelos descriptivos Modelos predictivos
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, K- NN, combinación de clasificadores

20 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)‏

21 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

22 Herramientas Weka, Clementine, etc. Knime. KoNstanz Information MinEr
Flujo de datos utilizando nodos Conexión con otras aplicaciones Ampliación de nodos Existen multiples herramientas, tanto de pago como libres, para aplicar todos los procesos de la minería de datos. Un ejemplo de aplicación de pago es Clementine, mientras que Weka es software libre. Posiblemente, Weka sea una de las mejores herramientas que se pueden utilizar para realizar tareas de minería de datos, se encuentra implementado en lenguaje java, y por lo tanto, se pueden utilizar sus librerías para realizar código propio. Una herramienta de reciente aparición es Knime, esta aplicación está realizada también utilizando Java y su funcionamiento se basa en la creación de flujos de datos utilizando nodos, los cuales se conectan entre sí mediante enlaces que intercambian datos o modelos. Knime tiene multiples ventajas, además de una interfaz sencilla e intuitiva, permite conexión directa con otras aplicaciones, como pueden ser R o la propia Weka. Además, dado su carácter libre, es posible la creación de nuevos nodos que se integran facilmente en la herramienta como plugins, lo que permite obtener nuevas funcionalidades que quizás no estuvieran implementadas aun.

23 Knime En la imagen se puede ver la apariencia de Knime, así como sus partes más importantes: Proyectos existentes: En esta ventana se puede ver todos los proyectos creados hasta el momento. Repositorio de nodos: Aquí se encuentran todos los nodos disponibles para su uso. Si se creasen nuevos nodos, se incluirían en el repositorio como si fueran nodos normales. Edición de proyecto: Es la ventana más grande, y es donde se arrastrarán los nodos desde el repositorio para ir creando el flujo de datos que se quiera en cada proyecto. Visión general del proyecto: Esta pequeña ventana muestra el contenido general de todo el proyecto seleccionado. Consola: En la consola aparecen los mensajes de información o de error que se vayan obteniendo según lo que se vaya realizando. Descripción de nodos: Existe una descripción del funcionamiento de cada nodo que haya en el repositorio. También existe información acerca de los datos de entrada o de salida de los mismos para su correcto funcionamiento.

24 Índice Introducción Preprocesado Modelos descriptivos
Modelos predictivos Validación

25 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 Muchas veces y dependiendo del tipo de trabajo que se esté realizando, obtener los datos es el paso más complicado de la minería de datos. Si además de esto, le sumamos que normalmente dichos datos tienen que ser tratados (preprocesados) de alguna forma antes de poder trabajar directamente con ellos, se puede decir que esta parte del proceso general puede ser cerca de un 60% del trabajo completo. Es posible que los datos sean incompletos, inconsistentes o que tengan ruído y para cada uno de estos casos, existen ciertas técnicas que tratan los datos para que puedan ser utilizados de manera correcta posteriormente.

26 Obtención de datos en Knime
Utilizando la herramienta Knime existen varios nodos desde los cuales se pueden obtener datos. Dependiendo de los datos que se quieran generar o del formato del que se quieran leer, se pueden obtener datos desde bases de datos, ficheros en formato .arff (weka), generar datos propios, leer tablas o modelos, o por último, y el más general, leer de un fichero común. Esta opción es la más configurable y se puede ver la ventana para hacerlo, en ella existen opciones como para adaptarse lo más posible al formato del que se estén leyendo los datos.

27 Representación de datos en Knime
En Knime existen multitud de nodos para representar los datos correspondientes y todas sus características. Desde histogramas hasta diagramas de cajas, pasando por todo tipo de gráficas y diagramas, así como tablas con las características de los datos. En la imagen se pueden ver algunos de los ejemplos más habituales, pero otros muchos se pueden encontrar en “Data views” en el repositorio de nodos

28 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. Cuando se obtienen datos es necesario detectar si tienen valores faltantes (missing values) debido a que la mayoría de métodos posteriores no trataran bien estos casos. Además, si no se hace esto, se pueden producir sesgos debido a que se ignore todo el ejemplo donde falten valores. Para detectar estos valores, muchas veces basta con ver en la tabla de características donde están los valores nulos, pero otras veces los valores nulos no están representados como tales y están mas ocultos. Existen varias formas de tratar los valores nulos, algunas de ellas son: Ignorarlos: algunos algoritmos son robustos frente a esto. Eliminar la columna entera: Dependiendo de la proporción de nulos, a veces es válida esta solución extrema. Filtrar la fila: Sesga los datos, porque puede que existan valores faltantes debido a que sea algún caso extremo o especial. Reemplazar el valor: Se puede hacer automaticamente por un valor que preserve la media o la varianza (valores numéricos) o por el valor moda (valores nominales). También se puede predecir el valor con alguna técnica.

29 Missing values en Knime
Con knime se pueden tratar los datos faltantes a través del nodo correspondiente. Se puede ver como se tiene una opción general en la que se puede configurar como tratar los missing values correspondientes a valores numéricos, así como los correspondientes a valores no numéricos. Las opciones son desde eliminar la fila, hasta reemplazar el valor faltante por alguno característico de los datos (media, moda, min, max, etc). También existe la opción de personalizarlo para cada conjunto de datos de entrada, y seleccionar para cada atributo como se quieren tratar los valores faltantes.

30 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 En la discretización se divide el rango de atributos continuos (numéricos) en intervalos. Es algo importante para la clasificación, debido a que ciertos algoritmos solo aceptan datos discretos.

31 Discretización en Knime
En Knime existe el nodo CAIM Binner, el cual realiza una discretización de los datos según el algoritmo de Kurgan and Cios (2004). Seleccionando los atributos de entrada que se quieran, se obtiene como resultado tanto una tabla con los nuevos datos con la discretización hecha, como un modelo de lo que se ha generado. Además, el modelo se puede ver de dos formas diferentes. Existe otro nodo, llamado CAIM Applier, que tiene como entrada un conjunto de datos y un modelo, y aplica una discretización a dichos datos según el modelo pasado. Por lo tanto, se puede aplicar el mismo modelo aprendido para discretizar un conjunto de datos a otros diferentes.

32 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 A pesar de que es menos común, el proceso inverso a la discretización es la numerización, y muchas veces es necesario debido a que métodos como la regresión lineal no admiten datos nominales. Puede ser útil para obtener modelos más precisos y generales. Hay de dos tipos: 1 a N: Se crean variables indicadoras, es útil cuando se espera que sólo uno de los posibles valores a obtener sea significativo. 1 a 1: Se usa cuando es posible identificar un cierto orden o magnitud en los valores de un atributo nominal.

33 Numerización en Knime De manera similar a la discretización, existen nodos de numerización en Knime. Se puede configurar para distintos tipos de numeración (transformación lineal, transformación de Gauss o por escala decimal) y se obtiene un resultado similar a la discretización, tanto una tabla con los resultados como un modelo. Nuevamente se puede utilizar este modelo como entrada para una numerización posterior de otro conjunto de datos utilizando el nodo Normalizer (Apply)‏

34 Índice Introducción Preprocesado Modelos descriptivos
Modelos predictivos Validación

35 Tareas descriptivas Agrupamiento (clustering)‏
Correlaciones y factorizaciones Reglas de asociación Dependencias funcionales Detección de valores e instancias anómalas En las tareas descriptivas, los ejemplos se presentan como un conjunto sin etiquetar ni ordenar, el objetivo en este caso es describir los datos existentes y no predecir datos nuevos: Agrupamiento (clustering): Obtener grupos o conjuntos de elementos, de tal forma que los elementos asignados a cada grupo sean “similares”. Correlaciones y factorizaciones: Dados los ejemplos, el objetivo es ver si dos o más atributos numéricos están correlacionados linealmente o relacionados de algún otro modo. Reglas de asociación: El objetivo es similar al anterior, pero para los atributos nominales Dependencias funcionales: A veces se incluye dentro de las reglas de asociación, en realidad, las dependencias funcionales consideran todos los posibles valores, a diferencia de las asociaciones o dependencias de valor. Detección de valores e instancias anómalas: Intenta encontrar instancias que no son similares a ninguna otra (o muy pocas) de las existentes.

36 Tabla de métodos

37 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 En los modelos descriptivos o clasificación no supervisada, no existe un atributo objetivo de clase que haya que predecir. En este caso hay una serie de instancias con unas variables que las caracterizan, y lo que hay que obtener con grupos de objetos de tal manera que los objetos que pertenezcan a un mismo grupo sean muy homogeneos entre sí y por otra parte, la hetereogeneidad entre los distintos grupos sea muy elevada.

38 Clustering Dados unos datos sin etiquetar, el objetivo es encontrar grupos naturales de instancias a) Particional b) Jerárquico Como su nombre indica, el clustering o agrupamiento, consiste en encontrar grupos de objetos tales que los objetos en los grupos sean similares o estén relacionados unos con otros y lo más diferente posible de los objetos del resto de grupos. Es decir, se busca que exista la menor distancia entre objetos de un mismo grupo, pero la mayor entre los distintos grupos que existan.

39 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 Existen dos tipos principalmente de clustering: Particional: Es un método de agrupamiento por vecindad en el que se parte de un número determinado de prototipos y un conjunto de ejemplos a agrupar, sin etiquetar. La técnica mas común es K-medias Ascendente jerárquico: Se pretende ir agrupando en cada paso aquellos dos objetos más cercanos para ir construyendo un dendograma, el cual parte en su base de tantos conglomerados como objetos a clasificar, los cuales son agrupados finalmente en un único grupo conteniendo todos los objetos. El coste computacional es mayor que en particional, pero se solucionan algunos problemas. como la elección del valor de k. Hay dos tipos de ascendentes jerárquicos: Aglomerativos: Se construye de las hojas a la raíz Divisivos: Se construye de la raíz hasta llegar a las hojas

40 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 se basa en iteraciones, una vez se eligen los centros iniciales, se asigna cada dato a un centro o prototipo, una vez se hace esto se desplazan los centros hasta su nuevo centro de masas. Como se asignan nuevos centros, es posible que algunos objetos que anteriormente estuvieran asignados a un prototipo, ahora lo estén a otro, por lo tanto habrá que desplazar nuevamente los centros. Este proceso se repite hasta que no sea necesario mover los centros. El mayor problema del algoritmo, es la elección de los centros iniciales, por ejemplo, en el algoritmo de McQueen, se asignan los k primeros elementos del fichero como los k primeros centroídes y a partir de ahí se realizan las iteraciones.

41 K-medias en Knime En Knime se puede utilizar K-medias como técnica de agrupación. En la imagen se puede ver como se conecta un nodo de lectura de datos a uno de kmeans. Los datos de entrada aparecen en la parte inferior, junto con una nueva columna en la que se indica el cluster al que pertenece cada instancia una vez realizada la ejecución. En la ventana de configuración del algoritmo se puede configurar el número de clusters que se quieren obtener, así como el número de iteraciones máximas del algoritmo en caso de querer limitarlo. Los resultados se pueden ver en la ventana de la parte inferior en la que se ven los cuatro clusters creados. Además, el nodo kmeans, tiene dos salidas, una de ellas son los resultados en forma de datos, mientras que la otra es el modelo creado, dicho modelo, por lo tanto, se podrá utilizar como entrada para una nueva clasificación.

42 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 El clustering jerárquico admite varias clasificaciónes, la primera es dependiendo de cómo se construya el árbol: Aglomerativos: En un primer momento, cada ejemplo es un grupo, se van aglomerando los grupos para formar conjuntos cada vez más numerosos, hasta llegar a la raíz que contiene a todos los ejemplos. Divisivos: Se van haciendo divisiones paulatinas desde la raíz hasta llegar a que cada ejemplo sea un grupo. Si se clasifica dependiendo de cómo se calcule la distancia de enlace entre grupos: Enlace simple: Se calcula la distancia entre todos los puntos de dos grupos y se toma como distancia entre grupos la menor. Enlace completo: Igual que el anterior, pero tomando como distancia entre grupos la mayor. Enlace en la media: Se toma como distancia la existente entre los centroides de los grupos.

43 Clustering jerárquico en Knime
De manera similar al uso de kmeans, se puede utilizar el clustering jerárquico en knime. De nuevo es necesario conectar un nodo de lectura de datos al nodo correspondiente. En este caso, se puede ver de nuevo los datos de entrada junto con su columna de cluster correspondiente, así como la ventana de configuración del algoritmo. Para el clustering jerárquico existen más opciones además del número de clusters a crear, ya que se puede elegir la función distancia (Euclidea o Manhattan) o la forma en la que se calcula la distancia de enlace (Simple, completo o media). Como resultado, en este caso se puede ver el dendograma creado.

44 Índice Introducción Preprocesado Modelos descriptivos
Modelos predictivos Validación

45 Tareas predictivas Clasificación Clasificación suave
Estimación de probabilidad de clasificación Categorización Preferencia o priorización Regresión Las tareas predictivas son en las que hay que predecir uno o más valores para uno o más ejemplos: Clasificación: Aprender una función que represente la correspondencia existente en ejemplos. Será capaz de determinar la clase para cada nuevo ejemplo sin etiquetar. Clasificación suave: Extensión de la anterior, en la que se introduce un grado de certeza en la predicción hecha. Estimación de probabilidad de clasificación: Es una generalización de la clasificación suave. Categorización: Se aprende una correspondencia entre los ejemplos. Preferencia o priorización: Determinar a partir de dos o más ejemplos un orden de preferencia. Regresión: Aprender una función que represente la correspondencia existente en los ejemplos, la diferencia respecto de la clasificación es que la salida es un valor numérico

46 Tabla de métodos

47 Clasificación supervisada
Datos: N objetos con n+1 variables (n predictoras + clase)‏ Inducir automaticamente un modelo clasificatorio En la clasificación supervisada, existen N objetos en el conjunto de datos, y cada uno de ellos tiene n+1 variables con valor. Las n primeras corresponden a las variables predictoras, mientras que la variable de clase es la variable a predecir. Una vez se ha conseguido inducir el modelo, se utilizará con posterioridad para predecir la clase de pertenencia de nuevos objetos caracterizados por sus variables predictoras.

48 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)‏ Dentro de la clasificación supervisada existen bastantes paradigmas que dan lugar a diversas técnicas para realizar las distintas clasificaciónes. En esta lista se pueden encontrar casi la totalidad de los paradigmas existentes, algunos de los cuales se desarrollarán a continuación.

49 Á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. De todos los métodos de aprendizaje, los basados en árboles de decisión son quizás el método más facil de utilizar y de entender. Un árbol de decisión es un conjunto de condiciones organizadas en una estructura jerárquica, de tal manera que la decisión final a tomar se puede determinar siguiendo las condiciones que se cumplen desde la raíz del árbol hasta algunas de sus hojas.

50 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 Los métodos bayesianos se pueden usar para tareas descriptivas y predictivas. Su uso como tarea descriptiva se basa en las redes bayesianas, a través de las cuales se descubren relaciones de independencia y/o relevancia entre las variables. Las redes bayesianas también se pueden usar en tareas predictivas, y además, existen otras técnicas de clasificación, como es Naïve Bayes. NB es el modelo más simple de clasificación con redes bayesianas, la estructura de la red es fija y sólo es necesario aprender las probabilidades de la misma. Se basa en la suposición de que todos los atributos son independientes conocido el valor de la variable clase. A pesar de ser poco realista, es uno de los más utilizados debido a su sencillez y a sus competitivos resultados.

51 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

52 Clasificación en Knime
En el repositorio de nodos de Knime existen multitud de nodos relacionados con la mineria de datos. Muchos de ellos son métodos de clasificación como los que se han visto aquí. Además, la posibilidad de conexión de la herramienta con otra como Weka (destinada completamente a la minería de datos) permite una expansión y unas posibilidades mucho mayores.

53 Índice Introducción Preprocesado Modelos descriptivos
Modelos predictivos Validación

54 Tipos de validación Validación interna Validación externa
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 Existen dos tipos de validación: en la validación interna se tiene un único conjunto de datos a través del cual se aprende un modelo y se clasifica, además, al posterior validación de los resultados obtenidos se realiza sobre ese mismo conjunto de datos utilizando alguna de las técnicas que se verán posteriormente. Como se está validando sobre los mismos datos sobre los que se ha aprendido, es común obtener resultados demasiado positivos. Esto se conoce como sobreajuste u overfitting. Por esto, es necesario normalmente realizar una validación externa, en la que la validación se realiza con datos que no han sido utilizados previamente en el aprendizaje, y obtener de esta forma resultados más realistas.

55 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 Si durante un proceso de minería de datos, existe una cantidad de datos D disponible, con m ejemplos, y se utiliza un subconjunto de esos datos para aprender un modelo y el resto para evaluarlo, se estará realizando un Hold-out. Es decir, se utilizan conjuntos de datos completamente diferentes para el aprendizaje y para la evaluación. Hay que tener cuidado con que los subconjuntos sean suficientemente representativos, porque sino las estimaciones se pueden ver afectadas negativamente.

56 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 Cuando se tiene una cantidad limitada de datos, uno de los problemas que aparecen es el de que los datos que se utilizan para la creación del modelo, no deberían ser usados para su propia evaluación. Esto se consigue en k-fold-Cross-Validation, que se suele utilizar cuando el número de instancias en el conjunto de datos es mayor que 100. Existe cierta flexibilidad en la elección del valor de k, sabiendo que cuanto más alto sea, mejor optimizado estará el resultado a costa de un tiempo de ejecución mayor.

57 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 Este método se puede ver como un caso especial de K-fold-Cross-Validation, siendo el valor de K el número de instancias que se tengan en el conjunto de datos. Se suele utilizar cuando el número de instancias disponibles es menor que 100.

58 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 xEiteraciones Bootstrap es indicado cuando el conjunto de datos es pequeño, ya que se van creando conjuntos de datos desde el original y se van evaluando individualmente. La operación matemática final intenta balancear el optimismo generado por la Resubstitution frente al pesimismo de las iteraciones. El número representa el porcentaje de posibilidad de una instancia de ser seleccionada para el conjunto de entrenamiento, por lo tanto, es el porcentaje de ser seleccionado para el conjunto de test.

59 Validación en Knime En Knime se pueden realizar todas las validaciones explicadas ya sea de un modo o de otro. Directamente, se puede realizar un Hold-Out sobre algún método de clasificación, teniéndo dos conjuntos de datos con instancias diferentes y utilizando uno como aprendizaje y otro como test, tal y como se puede ver en la parte superior del workflow. También existe un metanodo para realizar Cross-Validation, al ser un metanodo, quiere decir que dentro de él existen otros nodos que se utilizan también. En este caso se muestra el metaworkflow en la parte inferior derecha, el cual habría que completar. Además, como se puede ver en la configuración de Cross Validation, se puede realizar un Leave one out también añadiendo la opción correspondiente. Realizar un Bootstrap es más complicado y no puede ser implementado directamente, pero en la siguiente imagen se mostrará como se puede realizar.

60 Bootstrap en Knime Debido a la posibilidad de expansión de la herramienta, se pueden crear los nodos que sean necesarios para los objetivos que se quieran. En la imagen se muestra como sería la implementación de Bootstrap, tras la creación de dos nuevos nodos necesarios para su funcionamiento y utilizando un metanodo (The looper). Por lo tanto, utilizando correctamente los nodos disponibles, y creando los necesarios en cada caso, se puede realizar practicamente la implementación de cualquier funcionalidad que se requiera.


Descargar ppt "Curso de Minería de datos"

Presentaciones similares


Anuncios Google