Curso de Minería de datos Luis Pelayo Guerra Velasco José María Peña Sánchez Víctor Robles...

Post on 04-Feb-2015

22 views 4 download

Transcript of Curso de Minería de datos Luis Pelayo Guerra Velasco José María Peña Sánchez Víctor Robles...

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

Los “modelos” son el producto de la minería de datos...

...y dan soporte a las estrategias de decisión que se tomen

ModelosMinería de datosDatos

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

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 Mineria de datos

Const rucción d em od elos

Ceñ id o a p rem is as y t eorem asMayor liber tad en la cons trucción ,

in terp retab le

Score Veros im ilitud d e los d a tos d ad o el m od elo Más d irecto, PBC p or ejem p lo

Búsqued a Tes t d e la raz ón d e la veros im ilitud Metaheur ís t icos

Transp arencia Más com p licad os d e in terp retar Más cla ros y s encillos

Valid ación No Sí

Selección d evar iab les

Filter Wrap 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 datos

¿Cu ál es la p rop orción m ed ia d e accid en t es en t refu m ad ores y n o fu m ad ores?

¿Cu ál es la m ejor p red icción p ara accid en t es?

¿Cu ál es la fact u ra t elefón ica m ed ia d e m is clien t es yd e los q u e h an d ejad o la com p añ ia?

¿Dejara X la com p añ ia? ¿Qu é fact ores afect an a losab an d on ad os?

¿Cu án t o es la com p ra m ed ia d iar ia d e t ar jet asrob ad as y legít im as?

¿Cu áles son los p at ron es d e com p ra asociad os con elfrau 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:

Modelo generado:

Minería de datos

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:

Modelo generado:

Minería de datos

Eggs -> Oil: Confianza = 75%, Soporte = 37%

Ejemplo (III)Gestión de personal de una empresa: ¿Qué clases de empleados hay

contratados?

Datos:

Modelo generado:

Minería de datos

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:

Modelo generado:

Minería de datos

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, K-

NN, 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

Nom breDESCRIPTIVO

Agru p am ien to Reglas de as ociación Correlaciones / Facto riz aciones

Re des neu ronales X

Árbo les de decis ión ID3 , C4 .5 , C5 .0

Árbo les de decis ión CART

Otros árbo les de decis ión X X

Re des de Kohonen X

Regres ión lineal y logarítm ica X

Regres ión logís t ica X

Km eans X

Aprio ri X

Naive Bayes

Vecim os m ás p róxim os X

Anális is facto rial y de com p .p r incip ales

X

Twos tep , Cobweb X

Algoritm os genét icos y evo lu t ivos X X X

Máqu in as de vecto res s opo rte X

CN2 ru les (cobertu ra) X

Anális is d is cr im in a n te m u lt ivar ia n te

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 breDESCRIPTIVO

Clas ificación Regres ión

Redes neu ronales X X

Árboles de decis ión ID3 , C4 .5 , C5 .0 X

Árboles de decis ión CART X X

Otros árboles de decis ión X X

Redes de Kohonen

Regres ión lineal y logar ítm ica X

Regres ión logís t ica X

Km eans

Apr ior i

Naive Bayes X

Vecim os m ás p róxim os X X

Anális is factor ial y de com p . p r incipales

Twostep , Cobweb

Algor itm os genét icos y evolu t ivos X X

Máqu inas de vector es sopor te X X

CN2 ru les (cober tu r a) X

Anális is d iscr im inan te m u lt ivar ian te X

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