Presentacion data mining (mineria de datos)- base de datos
Data mning clasificacion-1
1. ¿Cómo se usa Data Mining
hoy?
• Conocer a los clientes
• Detectar segmentos
• Calcular perfiles
• Cross-selling
• Detectar buenos clientes
• Evitar el “churning”, “attrition”
• Detección de morosidad
• Mejora de respuesta de mailings
• Campañas de adquisición de clientes
Facultad de Ingeniería
1 Escuela de Ingeniería de Sistemas y Computación
2. El ciclo de data mining
Identificar
un problema
Medir los Usar data mining para
resultados transformar los datos
en información
Actuar basándonos
en la información
Facultad de Ingeniería
2 Escuela de Ingeniería de Sistemas y Computación
3. Importante
• Meta de Data Mining: encontrar patrones
• Hallar patrones no es suficiente
• Necesidad entender patrones, responder
a ellos, actuar sobre ellos y convertir los
datos en información, información en
acción y acción en valor para la
organización
Facultad de Ingeniería
3 Escuela de Ingeniería de Sistemas y Computación
4. Data Mining es un proceso
• proceso centrado en acciones
• derivadas del descubrimiento de
conocimiento no en el mecanismo de en si
mismo.
• algoritmos son importantes, la solución es
más que un conjunto de técnicas y
herramientas.
• técnicas aplicadas en el caso correcto sobre
datos correctos
Facultad de Ingeniería
4 Escuela de Ingeniería de Sistemas y Computación
5. El Proceso de KDD
INTERPRETACIÓN Y EVALUACIÓN
DATA MINING Conocimiento
CODIFICACIÓN Modelos
LIMPIEZA Datos Transformados
SELECCIÓN Datos Procesados
Datos objetivo
Datos
Facultad de Ingeniería
5 Escuela de Ingeniería de Sistemas y Computación
6. Estándar de proyecto de
Data Mining: Crisp-DM
Compresión Compresión
del problema de los datos.
Preparación
Implantación de los datos
Modelado
Evaluación
Facultad de Ingeniería
6 Escuela de Ingeniería de Sistemas y Computación
7. Tipos de datos
• Cuantitativos
• Discretos (número de empleados)
• Continuos (sueldo, ...)
• Cualitativos
• Nominales (estado civil, género)
• Ordinales (alto, medio, bajo)
Facultad de Ingeniería
7 Escuela de Ingeniería de Sistemas y Computación
8. Preparación de los datos
• Construcción conjunto final de datos
(datos entrada de los algoritmos de Data
mining.
• Posibilidad tareas múltiples veces y sin
orden determinado.
• Algunas tareas: selección de tablas,
atributos, registros, transformación y
limpieza de los datos.
Facultad de Ingeniería
8 Escuela de Ingeniería de Sistemas y Computación
9. Preparación de los datos (II)
• Entradas
• Conjunto de datos
• Descripción del conjunto de datos
• Fases y Salidas:
• Selección de datos
• Informe de los motivos de la selección
• Limpieza de datos
• Informe de la limpieza de los datos
Facultad de Ingeniería
9 Escuela de Ingeniería de Sistemas y Computación
10. Preparación de los datos
(III)
Construir el conjunto de datos
• Atributos derivados
• Registros generados
Integrar los datos
• Datos integrados
Formato de los datos
• Datos con nuevo formato
Facultad de Ingeniería
10 Escuela de Ingeniería de Sistemas y Computación
11. Preparación de los datos
• Asegurar calidad de los datos
• Los datos no fueron recogidos para tareas de
Data Mining
• Datos pobres, inconsistentes
• Numerosas fuentes, diferentes sistemas
• Funciones
• Revisión de los datos
• Tratamiento de Valores nulos e información
incompleta
Facultad de Ingeniería
11 Escuela de Ingeniería de Sistemas y Computación
12. Preparación: Revisión de
los datos
• Métodos estadísticos y de visualización
90
• Variables categóricas: 80
70
60
50 Este
40 Oeste
Distribución de variables 30
20
10
Norte
0
1er trim. 2do trim. 3er trim.
Histogramas 1e
r
“Pie charts” 2d
o
• Variables cualitativas 100
90
80
Media, varianza, moda 70
60
50
40
30
Este
Oeste
Norte
20
Scaterplots, boxplots... 10
0
0 2 4 6
Facultad de Ingeniería
12 Escuela de Ingeniería de Sistemas y Computación
13. Preparación: Información
incompleta
• Valores atípicos (“outliers”):
• tratamiento depende de su naturaleza
• Se pueden eliminar en el proceso de carga
del data warehouse
• Valores nulos: (ninguna de las técnicas es
perfecta)
• Eliminar las observaciones con nulos
• Eliminar las variables con muchos nulos
• Utilizar un modelo predictivo
Facultad de Ingeniería
13 Escuela de Ingeniería de Sistemas y Computación
14. Preparación
Transformación
• Conseguir una la visión integrada,
consistente y consolidada de los datos
• Refinar datos para que cumplan
requisitos de entrada de algoritmos
• Conversión de variables
• Reducción /adición de variables
• Discretización / generalización
Facultad de Ingeniería
14 Escuela de Ingeniería de Sistemas y Computación
16. Clasificación vs. Predicción
Clasificación
• Predicción de etiquetas categóricas
• Clasificar: construir un modelo a partir
de un conjunto de datos de
entrenamiento y valores de un atributo
de clasificación. Utilizar modelo para
clasificar nuevos datos
Facultad de Ingeniería
16 Escuela de Ingeniería de Sistemas y Computación
17. Clasificación vs. Predicción
Predicción
• Modelos (funciones) para variables con
valores continuos, i.e., predicción de
valores desconocidos
Aplicaciones típicas
• Concesión de créditos
• Campañas de marketing
• Diagnósticos médicos
Facultad de Ingeniería
17 Escuela de Ingeniería de Sistemas y Computación
18. Clasificación
• Similar a la experiencia de aprendizaje
humana
• Utilización de la observación para
formar un modelo
• Analizar un conjunto de datos para
determinar sus características (creación
de un modelo)
Facultad de Ingeniería
18 Escuela de Ingeniería de Sistemas y Computación
19. Clasificación
Aprendizaje supervisado
• El modelo se forma a partir de datos
clasificados correctamente de
antemano
• Los modelos construidos en dos fases
• Entrenamiento
• Prueba
Facultad de Ingeniería
19 Escuela de Ingeniería de Sistemas y Computación
20. Clasificación
Objetivo
Obtener modelos que discrimine las
instancias de entrada en clases de
equivalencia por medio de los valores de
diferentes atributos.
Y
X
Facultad de Ingeniería
20 Escuela de Ingeniería de Sistemas y Computación
21. Clasificación
Requisitos
• Suministrar el atributo decisión o clase (label)
El conjunto de valores de este atributo debe ser finito
y no excesivamente grande
• Suministrar los atributos condición
• Podría requerir datos que no sean numéricos pero
existen variedades que tratan con datos numéricos
• Número máximo de precondiciones
• Soporte mínimo de las reglas
Facultad de Ingeniería
21 Escuela de Ingeniería de Sistemas y Computación
22. Clasificación
Entrada de los algoritmos
• Atributos condición: usados para
describir las clases de equivalencia (por
medio del proceso de inducción).
• Atributos decisión o label: usados para
construir las clase de equivalencia en los
métodos supervisados (una clase por
cada valor o combinación de sus
valores).
Facultad de Ingeniería
22 Escuela de Ingeniería de Sistemas y Computación
23. Clasificación
Construcción del modelo
Describir un conjunto de datos con base en una
característica
• Cada tupla pertenece a una clase
predefinida determinada por el atributo de
decisión
• Se utiliza el conjunto de datos de
entrenamiento
• El modelo se representa mediante reglas de
clasificación, árboles de decisión o fórmulas
matemáticas
Facultad de Ingeniería
23 Escuela de Ingeniería de Sistemas y Computación
24. Clasificación
Utilización del modelo
Clasificar objetos nuevos de los que se
desconoce su clase
Determinar precisión del modelo
• Utilizar modelo para clasificar conjunto de
datos de prueba y comparar con etiqueta
original
• Exactitud es el porcentaje de conjunto de
datos de prueba que son clasificados
correctamente por el modelo
• El conjunto de datos entrenamiento y el
conjunto de datos de prueba disjuntos,
para evitar el overfitting
Facultad de Ingeniería
24 Escuela de Ingeniería de Sistemas y Computación
25. Clasificación
Representación del error
Matriz de Confusión
Representación en forma de tabla del número
de instancias clasificadas correctamente
Predicción
Datos reales
A B
1034 56 A
107 1355 B
Facultad de Ingeniería
25 Escuela de Ingeniería de Sistemas y Computación
26. Clasificación
Construcción del modelo
Algoritmos de
clasificación
Datos de
entrenamiento
Nombre Tipo Años Fijo Clasificador
Alberto Asociado 3 no (Modelo)
Maria Asociado 7 si
Nacho Titular 2 si
Alvaro Asociado 7 si IF tipo = ‘Titular’
David Asociado 6 no OR años > 6
Sonia Asociado 3 no THEN fijo = ‘si’
Facultad de Ingeniería
26 Escuela de Ingeniería de Sistemas y Computación
27. Clasificación
Técnicas
Técnicas simbólicas: árboles de inducción
• Muy eficientes en tiempo de proceso
• Resultados intuitivos
• Particiones lineales
• Algunos presentan problemas con
variables continuas
Facultad de Ingeniería
27 Escuela de Ingeniería de Sistemas y Computación
28. Clasificación
Técnicas
Redes neuronales
• Sólo entrada numérica
• Mas robusto
• Difícil de entender la salida
Facultad de Ingeniería
28 Escuela de Ingeniería de Sistemas y Computación
29. Clasificación
Técnicas
Análisis discriminante
Permite clasificar nuevas
observaciones o elementos en grupos
definidos
El resultado es una fórmula lineal
Interpretación muy intuitiva
Variables numéricas o dicotómicas
Disponibilidad de una medida del error
del modelo Facultad de Ingeniería
29 Escuela de Ingeniería de Sistemas y Computación
30. Clasificación
Árboles de decisión
Árboles de decisión
• La representación en forma de árbol
• Los nodos representan la verificación de
una condición sobre un atributo
• Las ramas representan el valor de la
condición comprobada en el nodo del cual
derivan
• Los nodos hoja representan las etiquetas
de clase
Facultad de Ingeniería
30 Escuela de Ingeniería de Sistemas y Computación
31. Clasificación
Árboles de decisión
La construcción de los árboles de decisión
consta de dos fases
• Construcción del árbol
• Al principio, todos las tuplas del conjunto
de entrenamiento está en la raíz
• Se dividen recursivamente en base al
atributo seleccionado
• Poda del árbol
• Identificar y eliminar las ramas que
presentan ruido o outliers
Facultad de Ingeniería
31 Escuela de Ingeniería de Sistemas y Computación
32. Clasificación
Árboles de decisión
Utilización de los árboles de decisión: clasificar
una muestra desconocida
Comprobar los valores de los atributos de la
nueva muestra con las condiciones del
árbol y descubrir su etiqueta de clase
Facultad de Ingeniería
32 Escuela de Ingeniería de Sistemas y Computación
33. Ejemplo
Datos de entrenamiento
Edad Estudia Crédito Compra
alta no aceptable no
alta no excelente no
alta no aceptable si
media no aceptable si
baja si aceptable si
baja si excelente no
baja si excelente si
media no aceptable no
baja si aceptable si
media si aceptable si
media si excelente si
media no excelente si
alta si aceptable si
media no excelente no
Facultad de Ingeniería
33 Escuela de Ingeniería de Sistemas y Computación
34. Ejemplo
Árbol de decisión
Edad?
<=30 overcast
30..40 >40
Estudia? si Crédito?
no si excelente aceptable
no si no si
Facultad de Ingeniería
34 Escuela de Ingeniería de Sistemas y Computación
35. Árbol de decisión: algoritmo
Algoritmo básico (voraz)
• El árbol se construye de forma top-down recursiva
utilizando divide y vencerás
• Al principio, todas las tuplas se encuentran en la
raíz
• Los atributos deben ser categóricos, si son valores
continuos hay que discretizarlos previamente
• Las tuplas se van dividiendo recursivamente con
base al atributo seleccionado
• Los atributos de condición se seleccionan con base
en heurísticas o mediante medidas estadísticas, por
ejemplo, ganancia de información
Facultad de Ingeniería
35 Escuela de Ingeniería de Sistemas y Computación
36. Árbol de decisión: algoritmo
Condiciones de terminación de división
• Todas las muestras en un nodo pertenecen a la
misma clase
• No hay más atributos para futuras particiones. Se
puede utilizar votación para clasificar el nodo hoja
• No quedan más ejemplos
Facultad de Ingeniería
36 Escuela de Ingeniería de Sistemas y Computación
37. Ganancia de información
(ID3/C4.5/C5.0)
• Seleccionar el atributo con mayor ganancia de
información
• Si hay dos clases, P y N
• Sea el conjunto de ejemplo S que contiene p
elementos de la clase P y n elementos de las clase
N
• La cantidad de información, que se necesita para
decidir si una muestra cualquiera de S pertenece a
P o a N se define como
p p n n
I ( p, n ) = − log 2 − log 2
p+n p+n p+n p+n
Facultad de Ingeniería
37 Escuela de Ingeniería de Sistemas y Computación
38. Ganancia de información en
árboles de decisión
Si se utiliza un atributo A, un conjunto S se
dividirá en conjuntos {S1, S2 , …, Sv}
Si Si contiene pi ejemplos de P y ni ejemplos
de N, la entropía, o información necesaria
para clasificar objetos en todos los
subárboles Si es
pi + ni
ν
E ( A) = ∑ I ( pi , ni )
i =1 p + n
Facultad de Ingeniería
38 Escuela de Ingeniería de Sistemas y Computación
39. Ganancia de información en
árboles de decisión
La ganancia de información de la rama A es
Gain( A) = I ( p, n) − E ( A)
Facultad de Ingeniería
39 Escuela de Ingeniería de Sistemas y Computación
40. Selección de atributos
mediante ganancia de
información
Clase P: compra = “si” 5 4
E ( edad ) = I ( 2 ,3 ) + I ( 4 ,0 )
14 14
Clase N: compra = “no” +
5
I ( 3 , 2 ) = 0 . 971
14
I(p, n) = I(9, 5) =0.940
Así:
Calcular la entropía para
Gain(edad ) = I ( p, n) − E (edad )
edad:
Similitud
edad pi ni I(pi, ni)
Gain(ingresos ) = 0.029
<=30 2 3 0,971
30…40 4 0 0 Gain(estudia ) = 0.151
>40 3 2 0,971 Gain(ratio de crédito) = 0.048
Facultad de Ingeniería
40 Escuela de Ingeniería de Sistemas y Computación
41. Extracción de reglas de
árboles de decisión
Si condición Entonces decisión
• Se crea una regla por cada camino de la raiz
a las hojas
• Cada par atributo-valor a lo largo del camino
representa una conjunción
• El nodo hoja representa la clase
Facultad de Ingeniería
41 Escuela de Ingeniería de Sistemas y Computación
42. Extracción de reglas de
árboles de decisión
Si condición Entonces decisión
SI edad = “<=30” Y estudiante = “no”
ENTONCES compra_computador = “no”
SI edad = “<=30” Y estudiante = “si”
ENTONCES compra_computador = “SI”
Facultad de Ingeniería
42 Escuela de Ingeniería de Sistemas y Computación
43. Evitar el “overfitting”
El árbol generado es posible que sea muy
ajustado (exacto) para el conjunto de
entrenamiento
• Demasiadas ramas puede significar que
algunas son debidas a ruido o a outliers
• Poca exactitud en los ejemplos no vistos
Dos enfoques para evitarlo
• Prepoda (Prepruning)
• Postpoda (Postpruning)
Facultad de Ingeniería
43 Escuela de Ingeniería de Sistemas y Computación
44. Evitar el “overfitting” (II)
Evitar el crecimiento (Prepruning): no
se divide un nodo si la medida de
bondad está por debajo de un umbral
Dificultad de elegir el umbral
Facultad de Ingeniería
44 Escuela de Ingeniería de Sistemas y Computación
45. Evitar el “overfitting” (II)
Postpruning: Eliminar la ramas de un
árbol una vez generado por completo.
Utilizar un conjunto de datos diferente
al de entrenamiento para decidir
cuáles ramas podar.
Facultad de Ingeniería
45 Escuela de Ingeniería de Sistemas y Computación
46. Enfoques para determinar el
tamaño final del árbol
• Separar datos en conjuntos de
entrenamiento (2/3) y prueba (1/3)
• Utilizar validación cruzada e.g. la
validación 10-fold
• Utilizar todos los datos para
entrenamiento
• Pero aplicar un test estadístico (e.g.,
chi-square) para estimar si expandir o
podar un nodo
Facultad de Ingeniería
46 Escuela de Ingeniería de Sistemas y Computación
47. Enfoques para determinar el
tamaño final del árbol
Utilizar el principio de mínima longitud de
las descripciones
Parar el crecimiento cuando se
minimice el código
Facultad de Ingeniería
47 Escuela de Ingeniería de Sistemas y Computación
48. Mejoras en los árboles
• Permitir atributos con valores continuos
• Se definen dinámicamente los valores
discretos que dividen los valores del atributo
en un conjunto discreto de intervalos
• Tratamiento de valores nulos
• Se asigna el valor mas frecuente
• Se asigna una probabilidad a cada uno de
los posibles valores
• Creación de nuevos atributos que reduzcan la
repetición y la replicación
Facultad de Ingeniería
48 Escuela de Ingeniería de Sistemas y Computación
49. Clasificación bayesiana
¿por qué?
• Aprendizaje probabilístico: Calcula hipótesis
probabilísticas explícitas. Enfoque común para
ciertos tipos de problemas
• Incremental: Cada ejemplo puede
incrementar/decrementar la probabilidad de
que una hipótesis sea correcta.
• La predicción probabilística predice múltiple
hipótesis ponderadas
Facultad de Ingeniería
49 Escuela de Ingeniería de Sistemas y Computación
50. Teorema de Bayes
Dado un conjunto de datos, la
probabilidad a posteriori de una hipótesis
h es:
P(h | D) = P(D | h)P(h)
P(D)
Dificultad: requiere conocimiento inicial de
las probabilidades
Facultad de Ingeniería
50 Escuela de Ingeniería de Sistemas y Computación
51. Clasificador Naïve Bayes
Classifier (I)
Suposición simplificada: los atributos son
condicionalmente independientes :
n
P(Cj|V) ∞ P(Cj)∏P(vi|Cj)
i=1
Reduce costo computacional pues solo
tiene en cuenta la distribución de la
clase.
Facultad de Ingeniería
51 Escuela de Ingeniería de Sistemas y Computación
52. Clasificador Naive Bayes (II)
Dado un conjunto de entrenamiento se
puede calcular las probabilidades
Tiempo P N Humedad P N
soleado 2/9 3/5 alta 3/9 4/5
cubierto 4/9 0 normal 6/9 1/5
lluvia 3/9 2/5
Temperatura Viento
calor 2/9 2/5 si 3/9 3/5
suave 4/9 2/5 no 6/9 2/5
fresco 3/9 1/5
Facultad de Ingeniería
52 Escuela de Ingeniería de Sistemas y Computación
53. Redes Neuronales
Ventajas
• La exactitud es generalmente alta
• Robusto, trabaja bien incluso cuando los
datos contienen errores
• La salida puede ser discreta, valor real, un
vector de valores reales
• Evaluación rápida de la función aprendida
Crítica
• Largo tiempo de entrenamiento
• Dificultad de entender la función aprendida
Facultad de Ingeniería
53 Escuela de Ingeniería de Sistemas y Computación
54. Predicción de valores
La predicción es similar a la clasificación
• Regresión lineal y múltiple
• Regresión no lineal
• Primero construye un modelo
• El modelo predice el valor desconocido
Facultad de Ingeniería
54 Escuela de Ingeniería de Sistemas y Computación
55. Predicción de valores
La clasificación predice clases de
valores categóricos
Los modelos de predicción son
funciones continuas
Facultad de Ingeniería
55 Escuela de Ingeniería de Sistemas y Computación
56. Algoritmos de
Predicción de Valores
• Para un conjunto de atributos
condición: c1, c2, c3, ... , cn
• Se pretende aproximar el atributo X
como:
X=w1 c1 + w2 c2 + w3 c3 + ... + wn cn
En otras palabras, calcular el vector de
pesos (w1, w2, w3, ... wn)
Facultad de Ingeniería
56 Escuela de Ingeniería de Sistemas y Computación
57. Algoritmos de Predicción de
Valores (Regresión)
X
c1
Facultad de Ingeniería
57 Escuela de Ingeniería de Sistemas y Computación
58. Análisis de regresión
Regresión lineal: Y = α + β X
• Los parámetros α y β determinan la recta y
se estiman utilizando los datos.
Regresión múltiple: Y = b0 + b1 X1 + b2 X2.
Modelos Log-linear:
• La tabla de probabilidades conjunta se
aproxima por el producto de tablas de
ordenes inferiores.
• Probabilidad: p(a, b, c, d) = αab βacχad
δbcd
Facultad de Ingeniería
58 Escuela de Ingeniería de Sistemas y Computación
59. Estimación de los errores
División: Entrenamiento y prueba
• Conjuntos independientes (2/3), (1/3)
• Se utiliza cuando se tienen muchos datos
Validación cruzada (Cross-validation)
• Dividir el conjunto en K muestras
• Utilizar k-1 muestras como entrenamiento y
la restante como prueba (k-fold cross-
validation)
• Datos con tamaño moderado
Bootstrapping (dejar uno fuera)
• Datos de tamaño pequeño
Facultad de Ingeniería
59 Escuela de Ingeniería de Sistemas y Computación
60. Boosting y Bagging
• El Boosting incrementa exactitud de la
clasificación
• Aplicable a árboles de decisión o
Clasificadores Bayesianos
• Se entrenan distintos clasificadores y cada
uno aprende de su predecesor
• Bagging: entrenamiento donde se van
eligiendo k elementos con reemplazamiento.
Se puede utilizar en la predicción numérica
Facultad de Ingeniería
60 Escuela de Ingeniería de Sistemas y Computación
61. Resumen
• La clasificación es posiblemente una de
las técnicas mas usada
• Dependiendo del tipo de datos y del tipo
de la variable a estimar así se eligen las
técnicas
• Conviene entrenar los datos con
distintas técnicas
Facultad de Ingeniería
61 Escuela de Ingeniería de Sistemas y Computación