Post on 04-Feb-2015
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