data mning clasificacion-1
TRANSCRIPT
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación1
¿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 Escuela de Ingeniería de Sistemas y Computación2
El ciclo de data miningIdentificar
un problema
Usar data mining para transformar los datos
en información
Actuar basándonos en la información
Medir los resultados
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación3
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 Escuela de Ingeniería de Sistemas y Computación4
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 sobredatos correctos
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación5
El Proceso de KDDEl Proceso de KDD
Conocimiento
LIMPIEZA
Datos Procesados
CODIFICACIÓN
Datos Transformados
DATA MINING
Modelos
INTERPRETACIÓN Y EVALUACIÓN
Datos objetivo
SELECCIÓN
Datos
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación6
Estándar de proyecto de Data Mining: Crisp-DM
Compresión del problema
Compresión de los datos.
Preparación de los datos
Modelado
Evaluación
Implantación
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación7
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 Escuela de Ingeniería de Sistemas y Computación8
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 Escuela de Ingeniería de Sistemas y Computación9
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 Escuela de Ingeniería de Sistemas y Computación10
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 Escuela de Ingeniería de Sistemas y Computación11
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 Escuela de Ingeniería de Sistemas y Computación12
Preparación: Revisión de los datos
• Métodos estadísticos y de visualización• Variables categóricas:
� Distribución de variables� Histogramas � “Pie charts”
• Variables cualitativas� Media, varianza, moda� Scaterplots, boxplots...
0
10
20
30
40
50
60
70
8090
1er trim. 2do trim. 3er trim.
EsteOesteNorte
0102030405060708090
100
0 2 4 6
EsteOesteNorte
1er2do
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación13
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 Escuela de Ingeniería de Sistemas y Computación14
PreparaciónTransformació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íaEscuela de Ingeniería de Sistemas y Computación
Clasificación
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación16
Clasificación vs. Predicción
Clasificación
•Predicción de etiquetas categóricas
•Clasificar: construir un modelo a partirde un conjunto de datos de entrenamiento y valores de un atributo de clasificación. Utilizar modelo para clasificar nuevos datos
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación17
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 Escuela de Ingeniería de Sistemas y Computación18
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 Escuela de Ingeniería de Sistemas y Computación19
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 Escuela de Ingeniería de Sistemas y Computación20
ClasificaciónObjetivo
Obtener modelos que discrimine las instancias de entrada en clases de equivalencia por medio de los valores de diferentes atributos.
X
Y
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación21
ClasificaciónRequisitos
• 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 Escuela de Ingeniería de Sistemas y Computación22
ClasificaciónEntrada de los algoritmos
• Atributos condición: usados para describir las clases de equivalencia (pormedio 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 susvalores).
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación23
ClasificaciónConstrucciConstruccióónn del modelodel 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órmulasmatemáticas
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación24
ClasificaciónUtilizaciUtilizacióónn del modelodel 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 Escuela de Ingeniería de Sistemas y Computación25
ClasificaciónRepresentación del error
Matriz de Confusión
Representación en forma de tabla del número de instancias clasificadas correctamente
Predicción
B1355107
A561034
BA
Datos re
ales
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación26
ClasificaciónConstrucción del modelo
Datos deentrenamiento
Nombre Tipo Años FijoAlberto Asociado 3 noMaria Asociado 7 siNacho Titular 2 siAlvaro Asociado 7 siDavid Asociado 6 noSonia Asociado 3 no
Algoritmos declasificación
IF tipo = ‘Titular’OR años > 6THEN fijo = ‘si’
Clasificador(Modelo)
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación27
ClasificaciónTé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 Escuela de Ingeniería de Sistemas y Computación28
ClasificaciónTécnicas
Redes neuronales
•Sólo entrada numérica
•Mas robusto
•Difícil de entender la salida
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación29
ClasificaciónTé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 Escuela de Ingeniería de Sistemas y Computación30
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 Escuela de Ingeniería de Sistemas y Computación31
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 Escuela de Ingeniería de Sistemas y Computación32
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 Escuela de Ingeniería de Sistemas y Computación33
EjemploDatos de entrenamiento
Edad Estudia Crédito Compraalta no aceptable noalta no excelente noalta no aceptable simedia no aceptable sibaja si aceptable sibaja si excelente nobaja si excelente simedia no aceptable nobaja si aceptable simedia si aceptable simedia si excelente simedia no excelente sialta si aceptable simedia no excelente no
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación34
EjemploÁrbol de decisión
Edad?
overcast
Estudia? Crédito?
no si aceptableexcelente
<=30 >40
no nosi si
si
30..40
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación35
Árbol de decisión: algoritmoAlgoritmo 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 Escuela de Ingeniería de Sistemas y Computación36
Árbol de decisión: algoritmoCondiciones de terminaciCondiciones de terminacióón de n de divisidivisióónn
• 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 Escuela de Ingeniería de Sistemas y Computación37
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
np
n
np
n
np
p
np
pnpI
++−
++−= 22 loglog),(
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación38
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 ejemplosde N, la entropía, o información necesaria para clasificar objetos en todos los subárboles Si es
∑= +
+=ν
1),()(
iii
ii npInp
npAE
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación39
Ganancia de información en árboles de decisión
La ganancia de información de la rama A es
)(),()( AEnpIAGain −=
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación40
Selecci ón de atributos mediante ganancia de
información
Clase P: compra = “si”
Clase N: compra = “no”
I(p, n) = I(9, 5) =0.940
Calcular la entropía para edad:
Así:
Similitudedad pi ni I(pi, ni)
<=30 2 3 0,97130…40 4 0 0>40 3 2 0,971
971.0)2,3(14
5
)0,4(14
4)3,2(
14
5)(
=+
+=
I
IIedadE
048.0)(
151.0)(
029.0)(
===
créditoderatioGain
estudiaGain
ingresosGain
)(),()( edadEnpIedadGain −=
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación41
Extracción de reglas de árboles de decisiónSiSi condicicondicióón n EntoncesEntonces decisidecisióónn
• 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 Escuela de Ingeniería de Sistemas y Computación42
Extracción de reglas de árboles de decisiónSiSi condicicondicióón n EntoncesEntonces decisidecisióónn
SI edad = “<=30” Y estudiante = “no”ENTONCES compra_computador = “no”
SI edad = “<=30” Y estudiante = “si”ENTONCES compra_computador = “SI”
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación43
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 Escuela de Ingeniería de Sistemas y Computación44
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 Escuela de Ingeniería de Sistemas y Computación45
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 Escuela de Ingeniería de Sistemas y Computación46
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 Escuela de Ingeniería de Sistemas y Computación47
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 Escuela de Ingeniería de Sistemas y Computación48
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 Escuela de Ingeniería de Sistemas y Computación49
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 Escuela de Ingeniería de Sistemas y Computación50
Teorema de Bayes
Dado un conjunto de datos, la probabilidad a posteriori de una hipótesis h es:
Dificultad: requiere conocimiento inicial de las probabilidades
)()()|()|(
DPhPhDPDhP =
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación51
Clasificador Naïve Bayes Classifier (I)
Suposición simplificada: los atributos son condicionalmente independientes :
Reduce costo computacional pues solo tiene en cuenta la distribución de la
clase.
P V P Pj j i ji
n
C C v C( | ) ( ) ( | )∞=∏
1
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación52
Clasificador Naive Bayes (II)
Dado un conjunto de entrenamiento se puede calcular las probabilidades
Tiempo P N Humedad P Nsoleado 2/9 3/5 alta 3/9 4/5cubierto 4/9 0 normal 6/9 1/5lluvia 3/9 2/5Temperatura Vientocalor 2/9 2/5 si 3/9 3/5suave 4/9 2/5 no 6/9 2/5fresco 3/9 1/5
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación53
Redes NeuronalesVentajas
• 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 Escuela de Ingeniería de Sistemas y Computación54
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 Escuela de Ingeniería de Sistemas y Computación55
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 Escuela de Ingeniería de Sistemas y Computación56
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 Escuela de Ingeniería de Sistemas y Computación57
Algoritmos de Predicción de Valores (Regresión)
X
c1
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación58
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 Escuela de Ingeniería de Sistemas y Computación59
Estimación de los errores
DivisiDivisi óónn: Entrenamiento y : Entrenamiento y pruebaprueba• Conjuntos independientes (2/3), (1/3)• Se utiliza cuando se tienen muchos datos
ValidaciValidaci óón cruzada (Crossn cruzada (Cross --validation)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 moderadoBootstrapping (Bootstrapping ( dejardejar unouno fuerafuera ))
• Datos de tamaño pequeño
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación60
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 Escuela de Ingeniería de Sistemas y Computación61
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