Introducción al Data Mining No Supervisado
Introducción al Data Mining No Supervisado
Data Mining
C ARLOS QUINTANILL A
Dedicatoria
A todos los estudiantes que han sufrido mi curso y mis notas en todas sus
variaciones:
mae 56,
mae 57,
mae 58,
i
Prefacio
Estas notas, como el gato de Neruda, no aspiran a ser nada más que lo que son y
son felices siéndolo. No aspiran a convertirse en un libro de texto. Son y siempre
serán notas escritas para estudiantes de INCAE. Son concisas, puntuales y evitan el
exceso de teoría. Están diseñadas para que cada capítulo pueda leerse, en com-
pañía de un caso cualquiera, la noche anterior a la sesión de clase. Su objetivo
principal es dar una idea general sobre los distintos algoritmos usados en el curso
antes de que el estudiante empiece a oprimir botones ciegamente en su laptop. Su
mayor virtud, la brevedad, es también su principal defecto; inevitablemente son in-
completas. Todo lo que puedo ofrecer para remediar este defecto es un apéndice
donde se provee una lista de libros de textos de verdad. El estudiante que desee
estudiar más detalladamente la disciplina puede comenzar allí. Estas recomenda-
ciones naturalmente reflejan mis gustos personales.
He decidido hacer estas notas disponibles en formato iBooks, además del tradi-
cional PDF, porque creo que el iPad (y en general, todas las tablets) tiene un rol in-
menso que jugar en educación superior. Además me encantan iBooks y iBooks
Author como programas de software. Estos programas me permiten que estas no-
tas sean una eterna obra en progreso. Nuevas versiones que reparen problemas
triviales como typos o errores menores serán denotadas como versión 1.01, 1.02...,
1.0x. Versiones que incluyan cambios importantes como material nuevo (tengo
planeados capítulos sobre visualizacion, preparación de datos y support vector ma-
chines) o capítulos viejos reescritos substancialmente serán denotadas como 1.00,
2.00, ..., X.00. El número y la fecha de la última versión siempre aparecerá al final
ii
de este prefacio (debajo del gato negro). La copia más reciente de las notas, en am-
bos formatos, siempre estará disponible en la dirección abajo:
https://s3.amazonaws.com/mirlitus/DataMining.ibooks
https://s3.amazonaws.com/mirlitus/DataMining.pdf
Finalmente, el crédito y las gracias por la excelente fotografía Fractals que
aparece en la portada y las páginas que abren las secciones son para Jessica
Grundy.
Carlos Quintanilla
Managua, Enero 02, 2013
iii
PRIMERA SECCION
4
CAPITULO UNO
Agrupamiento con
K-Means
Agrupamiento, al igual que Reglas de Asociación (próximo capítulo), es un
método no supervisado de Data Mining. Lo que lo hace ‘no supervisado’ es que to-
das las variables sobre las que tenemos información (e.g. ingreso, edad, educación)
tienen el mismo status. No hay variables especiales: no hay variables dependientes;
no hay variables independientes.
El objetivo central de agrupamiento es el mismo ya se le analice desde un
punto de vista estadístico o de marketing. Desde un punto de vista estrictamente
estadístico, dada una colección de observaciones individuales sin ninguna estruc-
tura conocida, la tarea de agrupamiento consiste en separar estas observaciones
como pertenecientes a un número reducido de grupos (o clusters) tales que
• las observaciones pertenecientes a un mismo grupo son parecidas entre si (ho-
mogeneidad dentro del grupo)
• las observaciones pertenecientes a diferentes grupos son diferentes (separa-
ción o heterogeneidad entre diferentes grupos).
Comparemos esta definición con la definición de segmentación ofrecida por
Michael J. Croft en su libro sobre segmentación en Marketing:
Un mercado es simplemente un grupo de usuarios con necesidades semejantes. Por lo tanto, un
mercado está constituido por subgrupos o segmentos conteniendo a usuarios con necesidades [...]
diferentes de las de otros segmentos. Segmentación de mercados es ... el proceso de identificar dif-
erentes grupos de usuarios dentro de un mercado que pueden ser atendidos con productos distintos o
programas de mercadeo distintos.
5
Medidas de Cercanía o Similitud
Echémosle un vistazo a un grupo hipotético de consumidores sobre los que
tenemos información sobre edad e ingreso. La Figura 1 muestra un grupo de 500
individuos. ¿Cuántos grupos hay? En este ejemplo sencillo, los grupos pueden iden-
tificarse sin ayuda de ninguna técnica de agrupamiento. Hay 3 grupos claramente:
• Un grupo de consumidores con ingresos bajos y edad entre 30 y 40 años.
• Otro grupo de consumidores con ingresos medios y edad entre 20 y 30.
• Finalmente hay un grupo de ingreso alto y edad entre 40 y 50 años.
¿Por qué es tan sencillo formar los grupos en este caso? Porque los miembros
de un grupo están cerca de los otros miembros del grupo y muy lejos de los miem-
bros de otros grupos. Hay una clara aglomeración. ¿Cómo hacemos preciso este
concepto? ¿Cómo medimos cercanía? Cuando las variables que estamos anali-
6
zando son continuas es posible definir cercanía en términos de distancia física o
geométrica--llamada comúnmente distancia euclidiana. Si tenemos dos puntos
con coordenadas p1 = ( x1, x2 ) y p2 = ( y1, y2 ), la distancia entre esos dos puntos
está dada por la expresión:
d(p1, p2) = (x1 − x2)2 + (y1 − y2)2
ID Edad Ingreso
1 35 0.5
2 37 1.2
3 24 3.2
4 26 4.1
5 44 5.8
6 46 6.3
Una vez definida distancia, podemos reformular nuestra estrategia para buscar
grupos de observaciones. Queremos formar grupos tales que la distancia entre
miembros de un mismo grupo, medido por la distancia euclidiana, sea lo más ppe-
7
queña posible y que la distancia entre miembros de grupos diferentes sea lo más
grande posible.
1 2 3 4 5 6
1 0 2.11 11.32 9.69 10.44 12.43
2 2.11 0 13.15 11.37 8.37 10.34
3 11.32 13.15 0 2.19 20.16 22.21
4 9.69 11.37 2.19 0 18.08 20.12
5 10.44 8.37 20.16 18.08 0 2.06
6 12.43 10.34 22.21 20.12 2.06 0
El Método de K-Means
El método de K-means es un método de agrupamiento que toma como insu-
mos una hoja de datos y un número deseado de grupos, llamémoslo k, y produce
como outputs las membresías de cada observación en la hoja de datos a los k gru-
pos deseados y un grupo de k centroides. Un centroide es un vector de las medias de
todas las variables utilizadas en el agrupamiento. El centroide resume las carac-
terísticas de un grupo.
Veamos como funciona el algoritmo. Lo inicializamos seleccionando k centroi-
des generados al azar. Cada centroide en este algoritmo define un grupo diferente.
El algoritmo entonces itera los siguientes pasos:
1. Calcula la distancia de cada punto en la base de datos a cada uno de los
centroides.
2. Asigna cada observación al grupo para el cual la distancia del punto al cen-
troide correspondiente es la menor.
3. Recalcula los centroides tomando las medias de todas las variables de todas
las observaciones pertenecientes a un grupo.
4. Repite 1-3 hasta que no haya ningún cambio adicional (i.e. cuando ya no
hayan reasignaciones de puntos)
8
Sigamos estos cuatro pasos para nuestro mini ejemplo arriba. Supongamos que
queremos encontrar 3 grupos (k=3). Generemos aleatoriamente 3 centroides (mas
o menos en el rango de los datos). Estos son:
Primera Iteración: Paso 1 indica que debemos calcular las distancias entre
cada uno de los 6 puntos y los 3 centroides de la Tabla 3. Estas son tres distancias
por observación. Estas distancias están denotadas en la Tabla 4 como C1, C2, C3.
Para cada una de las observaciones, identificamos en negrillas la distancia menor.
A continuación, el paso 2 nos indica que debemos asignar la observación al grupo
que exhibe la distancia menor. La primera observación, por ejemplo, está más
cerca del tercer centroide. Por lo tanto, la asignamos al grupo 3. La segunda obser-
vación está más cerca del segundo centroide. Por lo tanto, la asignamos al grupo 2.
Otro tanto hacemos para las otras 4 observaciones restantes.
C1 C2 C3
ID Edad Ingreso Grupo
(2.5,30) (6.0,35) (5.0,33)
1 35 0.5 5.39 5.50 4.92 3
2 37 1.2 7.12 5.20 5.52 2
3 24 3.2 6.04 11.35 9.18 1
4 26 4.1 4.31 9.20 7.06 1
5 44 5.8 14.38 9.00 11.03 2
6 46 6.3 16.35 11.00 13.06 2
Tabla 4: Iteración 1, Paso 1 y Paso 2.
Ahora calculamos las medias de Edad e Ingreso para cada uno de los 3 grupos
recien definidos. Estas medias se convierten en los centroides de la siguiente itera-
ción.
9
Grupo Edad Ingreso
1 25 3.65
2 42.33 4.43
3 35.00 0.5
Tabla 5: Iteracion 1, Paso 3.
Segunda Iteración: Con los nuevos centroides volvemos a calcular las distan-
cias de cada uno de los puntos y asignamos al grupo con la distancia menor.
C1 C2 C3
ID Edad Ingreso Grupo
(3.65,25) (4.43,42.33) (0.5,35)
1 35 0.5 10.48 8.32 0.00 3
2 37 1.2 12.25 6.23 2.12 3
3 24 3.2 1.10 18.37 11.33 1
4 26 4.1 1.10 16.33 9.69 1
5 44 5.8 19.12 2.16 10.44 2
6 46 6.3 21.17 4.12 12.44 2
Tabla 6: Iteración 2, Paso 1 y Paso 2.
C1 C2 C3
ID Edad Ingreso Grupo
(3.65,25) (6.05,45.0) (0.85,36.0)
1 35 0.5 10.48 11.44 1.06 3
2 37 1.2 12.25 9.36 1.06 3
3 24 3.2 1.10 21.19 12.23 1
4 26 4.1 1.10 19.10 10.51 1
5 44 5.8 19.12 1.03 9.41 2
6 46 6.3 21.17 1.03 11.39 2
Tabla 8: Tercera Iteración, Paso 1, Paso 2.
10
Tercera Iteración: Con los nuevos centroides volvemos a calcular las distan-
cias.
Dado que no hubo ninguna reasignación, dado que ninguna observación cam-
bio de grupo, el algoritmo se detiene. La Tabla 7 y la última columna de la Tabla
8 son los outputs de todo el algoritmo.
Seleccionando K
Uno puede pensar en Agrupamiento como un modelo para explicar las obser-
vaciones que tenemos a mano. Consideremos un ejemplo aún más sencillo en el
que queremos segmentar nuestros clientes, pero sólo tenemos acceso a una vari-
able. Esta variable podría representar, por ejemplo, el ingreso de nuestros clientes.
Si no segmentamos, estamos suponiendo que todos nuestros clientes son miembros
de un grupo homogéneo. ¿Cómo podríamos describir este grupo? Estadística 101.
Con su media, como medida de tendencia central, y su varianza, como medida de
dispersión o variabilidad.
En Agrupamiento haremos algo muy parecido. Reportaremos la media (o me-
dias si hay más de un grupo) y la desviación al cuadrado promedio alrededor de la
media (o de las medias). Para los datos de la Figura 2, si suponemos que solo hay
1 grupo, la media es 3.65 y la desviación al cuadrado promedio (DCP) es igual a
10.977. Estas fueron calculadas de la siguiente manera:
1
∑
x̄ = xi
n
1
(xi − x̄)2
n∑
DCP =
Ahora supongamos que creemos que hay dos segmentos de ingreso y usamos el
algoritmo de K-means para encontrarlos. El segundo panel de la Figura 2 ilustra
lo que ocurre. Ahora tendremos 2 grupos, uno de ingreso alto y otro de ingreso
bajo. ¿Cómo resumimos esta nueva estructura que hemos descubierto? Repor-
tando las medias de los grupos descubiertos y nuestra medida de variación alrede-
dor de estas medias. El grupo de ingreso bajo (IB) tiene una media de 1.49 y el
grupo de ingreso alto (IA) tiene una media de 7.97. Estos valores están indicados
11
por lineas verticales en el segundo panel. La variabilidad alrededor de estas me-
dias será resumida por un solo indicador, la desviación al cuadrado promedio:
1
(xi − x¯IA)2 + (xi − x¯IB)2)
n ∑ ∑
DCP = (
Noten que ahora hay dos sumatorias para calcular el DCP. Las desviaciones al-
rededor de las medias se calculan por grupo porque cada grupo tiene una media
que lo caracteriza. Este estadístico toma el valor de 1.637. Esto es un progreso
enorme comparado al valor cuando suponíamos que sólo existía un grupo. El
DCP ahora es un quinto de lo que era antes.
Podemos continuar y suponer ahora que hay 3 grupos, en lugar de 2. Ahora re-
portaremos la existencia de 3 segmentos (ingreso bajo, medio y alto). Cuando cor-
remos K-means, encontramos que estas medias son -0.03, 3.02 y 7.97 respectiva-
mente. No se preocupen por los valores negativos para el ingreso. Este sólo es un
12
ejemplo. Podría también ser Log(Ingreso). El DCP ha caído a 0.07. Visualmente,
este parece ser el mejor modelo. Naturalmente parecían existir 3 grupos.
¿Qué ocurriría si intentáramos 4 grupos? Como regla, el DCP siempre dismi-
nuirá. Esto es equivalente, por ejemplo, en regresión a aumentar el número de
variables explicativas y su efecto sobre R-cuadrada. Siempre que aumentamos el
número de variables en una regresión, su R-cuadrada aumenta. Pero no siempre
es aconsejable. Si intentamos 4 grupos, DCP es ahora 0.058. Pero... ¿vale la pena?
No parecemos haber ganado mucho al hacer nuestro modelo más complicado. La
regla que utilizaremos, bastante informal lo admito, es: Nos detendremos cuando
notemos que la reducción en el DCP es marginal.
Hagamoslo gráficamente. Graficaremos el DCP desde 2 hasta un valor alto, k-
max, y seleccionaremos el valor de K para el cual notamos un quiebre. En la Fig-
ura 3, graficamos los valores de K desde 2 hasta 6. Noten que el break natural
ocurre cuando K=3. Si seguimos aumentando K, las ganancias en reducción del
DCP son marginales.
Este fue el caso cuando sólo tenemos una variable, ingreso. Cuando tengamos
información sobre más de una variable, utilizaremos una estrategia semejante.
14
información sobre presupuesto destinado a restaurantes será, para efectos prácti-
cos, completamente ignorada. Pero esto es desafortunado porque es concebible
que grupos interesantes basados en estas dos variables podrían surgir si trataramos
igualmente a las dos variables.
Por esta razón, antes de correr K-Means, es práctica común estandarizar las
variables que se van a utilizar. Esta es la forma más común de normalización. Es-
tandarizar una variable X consiste en restarle su media y dividirla entre su desvia-
ción standard. Es decir, consiste en definir una nueva variable Z con las siguientes
caractarísticas:
X − X̄
Z=
σx
Las características de esta nueva variable son las esperadas. La nueva variable
Z tiene media 0 y desviación estandar 1. Si aplicamos esta transformación a todas
las variables de una base de datos antes de aplicar K-means, ahora el campo está
nivelado. Ninguna variable será más importante que las demás porque todas es-
tarán medidas en las mismas variables (desviaciones standards alredor de la me-
dia).
Es también posible mapear la variable X a una nueva variable Z que esté con-
tenida en el rango del 0 al 1. Esto se logra aplicando la siguiente transformación:
X − min(X )
Z=
ma x(X ) − min(X )
Esta transformación también logra el objetivo de neutralizar el efecto de las uni-
dades de medida. Es, sin embargo, menos usada que la primera.
15
CAPITULO DOS
Reglas de Asociación
16
Figura 1: Sistema de Recomendación de Amazon.com.
17
permercado verdadero genera típicamente millones de transacciones de este tipo
cada año.
Generalizando, podemos pensar en una base de datos transaccionales de la
siguiente forma. Existe un conjunto de productos o items. Llamemos a este con-
junto I = {i1, i2, . . . , in}. Cada transacción, ti, en la base de datos es un subcon-
junto del conjunto I que indica la presencia de ciertos artículos en la transacción
más una variable identificadora. La base de datos entera B = {t1, t2, …, tm} es una
colección de transacciones. El objeto de la técnica de reglas de asociación es descu-
brir patrones de consumo interesantes entre estas transacciones.
Transacción
Jamón Pan Queso Mantequilla Naranjas Huevos
#
1 1 1 1 0 0 0
2 0 1 0 1 0 0
3 0 1 0 0 1 1
4 1 1 0 0 0 1
5 0 0 1 0 0 0
18
Figura 2: Imagen de una Pequeña Matriz de Transaccio-
nes con 6 productos (columnas) y 5 transacciones (filas).
19
• la consecuencia (en este caso el producto B).
Las reglas pueden ser más complicadas e involucrar un número mayor de pro-
ductos. Por ejemplo, podemos tener una regla que involucre 3 productos.
{A, B} ⇒ C
Esta regla significa que si el cliente compra productos A y B, entonces com-
prará también el producto C. El antecedente de esta regla es ahora {A, B} y la
consecuencia es C.
20
Obviamente, las reglas que queremos descubrir no son determinísticas (es de-
cir, no necesariamente se tienen que cumplir siempre). Por eso será necesario de-
sarrollar una métrica probabilística para medir la fortaleza de una regla. La rela-
ción entre estas métricas y conceptos elementales de probabilidad como probabili-
dades marginales, conjuntas o condicionales será inmediatamente aparente para
ustedes.
Volviendo a nuestro ejemplo arriba, queremos responder algunas preguntas.
Queremos saber:
S(A) = P(A)
S(B) = P(B)
S(A ⇒ B) = S(B ⇒ A) = P(A ∩ B)
21
Tamaño Items Soporte
1 Jamón 0.4
1 Pan 0.8
1 Queso 0.4
1 Mantequilla 0.2
1 Naranjas 0.2
1 Huevos 0.4
2 Pan, Queso 0.2
2 Pan, Jamón 0.4
2 Pan, Huevos 0.4
2 Pan, Mantequilla 0.2
2 Queso, Jamón 0.2
2 Jamón, Huevos 0.2
2 Huevos, Naranjas 0.2
3 Pan, Queso, Jamón 0.2
3 Pan, Jamón, Huevos 0.2
3 Pan, Huevos, Naranjas 0.2
P(A ∩ B)
C(A ⇒ B) = P(B | A) =
P(A)
En general, preferimos reglas con una confianza alta.
3. Lift de una Regla: Está definido como el cociente del soporte de la regla
dividido entre el producto del soporte de A y el soporte de B. Mide que tan
probable o improbable es que la regla haya sido producto del azar.
P(A ∩ B)
L(A ⇒ B) =
P(A) * P(B)
4. Tamaño de una Regla es el número de productos que involucra. Si A, B
y C son productos individuales, el tamaño de la regla ( {A} ⇒ {B} es 2; la re-
gla ( {A, B} ⇒ {C} ) tiene tamaño 3.
22
Regla Antecedente Consecuencia Soporte Confianza Lift
1 Pan Jamón 0.4 0.5 1.25
2 Pan Huevos 0.4 0.5 1.25
3 Jamón Pan 0.4 1.0 1.25
4 Huevos Pan 0.4 1.0 1.25
Tabla 4: Reglas con Soporte Mínimo de 0.4 y Confianza Mínima de 0.5.
Siempre que reportemos una regla de interés reportaremos también estas cu-
atro medidas. Calculemos algunas de esta medidas para nuestro ejemplo y reporte-
moslas en la Tabla 3. Calculemos inicialmente los soportes de los productos indi-
viduales. El número total de transacciones es 5. Jamon, Huevos y Queso, consid-
erados individualmente, aparecen en dos de estas transacciones. Por lo tanto, su
soporte es igual a 2/5. Pan es el producto más frecuente; aparece en 4 de las 5
transacciones y tiene un soporte de 0.8.Mantequilla y Naranjas aparecen sola-
mente 1 vez; su soporte es 1/5. La Tabla 3 reporta también soportes para combi-
naciones de productos (parejas, trios, etc).Pan y Jamon, por ejemplo, tomados
como pareja aparecen en 2 de las 5 transacciones. Esta combinación por lo tanto
23
tiene un soporte de 0.4. La Figura 4 muestra los soportes de los subconjuntos más
frecuentes.
Una vez que hemos calculado los soportes de todas las combinaciones de pro-
ductos podemos calcular soportes, confianzas y lifts para cualquier regla que se
nos ocurra utilizando las fórmulas de la página anterior. Si las bases de datos
fueran pequeñas, podríamos utilizar el método de fuerza bruta para calcularlas to-
das. Podríamos enumerar todas las reglas posibles y después contar en la base de
datos la frecuencia con que estas ocurren. El número de reglas posibles cuando el
número de items es n es igual a
3n − 2n+1 + 1
En el nuestro ejemplo esto es igual a 729-128+1 = 602! El numero de reglas po-
sibles en una base de datos verdadera es simplemente abrumadora. Por eso a
menudo reportaremos solamente reglas que tengan un soporte mínimo y una con-
fianza mínima. Podemos instruir, por ejemplo, a un programa que busque todas
las reglas con un soporte mínimo de 40% y una confianza mínima de 50%. En
nuestro ejemplo, esto genera 4 reglas distintas. Echemosle un vistazo a la primera.
La regla dice que si la persona compra pan (el antecedente de la regla), también
24
comprará Jamon (la consecuencia de la regla). Esta regla tiene un soporte de 0.4.
Es decir que Jamon y Pan aparecen juntos en el 40% de las canastas. La regla ti-
ene una confianza de 0.5. Es decir, si la persona tiene Pan en su canasta hay una
probabilidad de 50% de que también compre Jamon. La tercera regla involucra
los mismos productos, pero tiene la dirección de causalidad revertida. El soporte
de la regla es el mismo, pero la confianza aumentó. En este ejemplo de 5 transac-
ciones, si una persona pone Jamon en su canasta con seguridad también pondrá
Pan (confianza=100%). La Figura 5 muestra estas reglas gráficamente.
La última metrica que examinaremos es lift. ¿Por qué la necesitamos? Consider-
emos el ejemplo de una tienda de alimentos. Supongamos que tenemos 1,000
transacciones. En un 80% de ellas encontramos que las personas han comprado
Arroz. En un 70% encontramos que han comprado Frijoles. Aun si no existiera
ninguna asociación entre la compra de arroz y la de frijoles (en el lenguaje de prob-
abilidad, si los eventos fueran independientes), esperaríamos solo por casualidad,
encontrar arroz y frijoles al mismo tiempo en un 0.8(0.7) = 0.56 de las canastas.
Supongamos que este es el caso. Ahora calculemos, soporte y confianza para las
reglas Arroz->Frijoles y Frijoles->Arroz.
P(Arroz) = 0.8
P(Frijoles) = 0.7
P(Arroz ∩ Frijoles) = 0.56
S(Arroz ⇒ Frijoles) = P(Arroz ∩ Frijoles) = 0.56
P(Arroz ∩ Frijoles)
C(Arroz ⇒ Frijoles) = = 0.7
P(Arroz)
P(Arroz ∩ Frijoles)
C(Frijoles ⇒ Arroz) = = 0.8
P(Frijoles)
Ambas reglas parecen ser excelentes: tienen un alto soporte y altas confianzas,
pero... las construimos suponiendo independencia! No miden asociación de
ningún tipo. Entra la escena la nueva metrica, lift. Si calculamos lift para ambas
reglas observamos que ambas tienen un lift de 1.
25
P(Arroz ∩ Frijoles) 0.56
L(Arroz ⇒ Frijoles) = = =1
P(Arroz) * P(Frijoles) 0.8 * 0.7
P(Arroz ∩ Frijoles) 0.56
L(Frijoles ⇒ Arroz) = = =1
P(Arroz) * P(Frijoles) 0.8 * 0.7
Por lo tanto, queremos reglas con alto soporte, alta confianza y lift diferente de
1. Un lift superior a 1 mide una relación positiva entre los dos productos. Los pro-
ductos podrían ser complementos. Un lift por debajo de 1 mide una relación nega-
tiva entre los dos productos. Los productos podrían ser substitutos. Típicamente
estamos buscando lifts por encima de 1. Entre más alto el lift, mejor. Modifique-
mos el ejemplo arriba. Los soportes individuales siguen siendo los mismos, pero
ahora Arroz y Frijoles aparecen al mismo tiempo en 660 transacciones (en lugar
de 560). Esto es reflejado inmediatamente en lifts superiores a 1. Ahora si hay una
relación fuerte entre ambas.
P(Arroz) = 0.8
P(Frijoles) = 0.7
P(Arroz ∩ Frijoles) = 0.66
S(Arroz ⇒ Frijoles) = P(Arroz ∩ Frijoles) = 0.66
P(Arroz ∩ Frijoles)
C(Arroz ⇒ Frijoles) = = 0.825
P(Arroz)
P(Arroz ∩ Frijoles)
C(Frijoles ⇒ Arroz) = = 0.9428
P(Frijoles)
P(Arroz ∩ Frijoles) 0.66
L(Arroz ⇒ Frijoles) = = = 1.17
P(Arroz) * P(Frijoles) 0.8 * 0.7
P(Arroz ∩ Frijoles) 0.66
L(Frijoles ⇒ Arroz) = = = 1.17
P(Arroz) * P(Frijoles) 0.8 * 0.7
27
SEGUNDA SECCION
28
CAPITULO TRES
Regresión Lineal
En estas notas cuando hablemos de predicción nos estaremos refiriendo a todos los
modelos que tengan por objeto pronosticar el valor de una variable continua. Po-
demos, por ejemplo, desarrollar un modelo para pronosticar cuánto gastará uno
de nuestros clientes, con el gasto medido en dólares, como función de una serie de
atributos de la persona (edad, sexo, ingreso, etc). En capítulos posteriores, utilizare-
mos la palabra clasificación para referirnos a modelos cuyo fin es pronosticar el
valor que tomará una variable categórica. Por ejemplo, querremos un modelo que
explique la decisión de compra de un cliente (Compró/No Compró) como fun-
ción de los atributos de la persona. El modelo de predicción más conocido en Es-
tadística o en Data Mining, es el de Regresión Lineal. Utilizaremos regresión para
explicar algunos de los conceptos más importantes en Data Mining:
• Sobre-ajuste (overfitting)
• Particiones de entrenamiento y validación
• Evaluación de desempeño
Como lo indica su nombre, el modelo de regresión lineal explica el comporta-
mient o de una variable que nos interesa como una función lineal de los atributos
que la explican:
Y = β0 + β1 * X1 + β2 * X2 + ⋯ + βn * Xn + ϵ
29
sumo de cerveza de una persona como una función lineal de su nivel de ingreso,
edad y educación.
La primera pregunta que podemos hacernos es: ¿cómo estimamos los coeficien-
tes de esta ecuación?. El método que utilizamos para calcularlos (el método de
mínimos cuadrados) escoge los coeficientes que minimizan la suma de errores al
cuadrado en la muestra.
Por comparación con otros modelos que vendrán luego, ¿cuáles son los pros y
cons del modelo de regresión lineal? Los Pros son:
• Facil y rápido de calcular.
• Fácil de interpretar.
• El rol de cada variable en la regresión está muy claro
Los Cons son:
• No es muy bueno para lidiar con formas de no-linealidad compleja. El mod-
elo de regresión lineal puede lidiar con ciertas formas de no-linealidad. Por ejem-
plo, en las páginas que siguen estimaremos funciones cuadráticas y cúbicas
usando regresión lineal. Para ser técnicamente correctos, el modelo es lineal es
los coeficientes pero no necesariamente en las variables. Podemos estimar una ec-
uación Y = b0 + b1*Log(X1) + b2*Cos(X2) + b3 * (1/X3) + error usando regre-
sión lineal. Pero no podemos estimar una ecuacion Y = b0 + Log(b1)*X1+error.
• El modelo impone una estructura que si no está presente en los datos resul-
tará en una pérdida de capacidad de pronóstico.
Sobre-ajuste
¿Qué es sobre-ajuste? Esto se refiere al problema de muchos métodos de predic-
ción de explicar casi a la perfección el comportamiento de la variable dependiente
en la muestra incrementando el nivel de complejidad del modelo. Tomemos el
caso más sencillo. Tenemos 4 observaciones del nivel de ingreso de una familia y
sus correspondientes 4 observaciones para su nivel de consumo.
30
Observacion Ingreso Consumo
1 100 92
2 120 113
3 140 123
4 160 145
31
Figura 2: Modelo Lineal de Consumo como Funcion de Ingreso.
modelo? Por ejemplo, podríamos tratar de estimar una función cuadrática del in-
greso. Ingreso aparecería en la ecuación en dos términos: uno lineal y otro
cuadrático.
La ecuación estimada es:
Consumo = 18.65 + 0.682 * Ingreso + 0.000625 * Ingreso 2
La R-cuadrada ha subido a 0.9818 aunque lo ha hecho marginalmente. La Fig-
ura 3 muestra esta ecuación. La curvatura de la ecuación cuadrática apenas se
nota. Intentemos una vez mas complicar el modelo en aras de un mejor ajuste.
Probemos una ecuación cúbica. Esta vez la ecuación estimada es:
Consumo = − 983 + 24.58 * Ingreso − 0.186 * Ingreso 2 + 0.00047 * Ingreso 3
Esta nueva ecuación tiene una pecualiaridad. Explica el comportamiento del Con-
sumo en la muestra a la perfección!! Los errores son todos iguales a cero.
Convénzance. La R-Cuadrada es 1.00. La pregunta por supuesto es: ¿Es este un
buen modelo? ¿Si, no, por qué? Respondanse la pregunta antes de seguir leyendo.
32
Figura 3: Modelo Cuadrático de Consumo como Funcion de Ingreso.
33
El modelo podrá ser bueno con la muestra a la mano, pero cuando tengamos
nuevas observaciones, muy probablemente su desempeño se derrumbará. El prob-
lema es que se nos fue la mano y tratamos de explicar la mas mínima peculiaridad
de la muestra. Estas peculiaridades o ruido no estarán presentes en nuevos datos y
el desempeño del modelo como predictor de nuevas observaciones será mala.
Pero, predecir nuevas observaciones es la razón de ser de un modelo de este tipo.
Por lo tanto, no podemos dejar que se complique demasiado. Un buen modelo, en
este contexto, será un modelo que explica bien nuevos datos.
Evaluando el Desempeño de un Modelo de Predicción
Antes de que veamos la solución al problema anterior, hablemos un poco de
cómo evaluamos pronósticos en Data Mining. La evaluación de un pronóstico se
hace con datos nuevos. Un modelo bueno es un modelo que explica bien el com-
portamiento de la variable dependiente. En otras palabras, es un modelo que
comete errores pequeños. Hay varias medidas de desempeño de un modelo. Todas
están construidas a partir del error que comete el modelo al pronosticar cada una
de las observaciones de la muestra de datos nuevas. Cada observación de este set
puede ser descompuesta en la parte pronosticada y el error. La parte pronosticada
es una función de las variables independientes:
Yi = Yî + ϵi
Yî = F(Xi)
Noten que hay una ecuación de este tipo para cada observación en la muestra.
Si llamamos al error cometido al pronosticar la observación “i”, ϵi , las siguientes
medidas nos pueden servir para evaluar el desempeño de un modelo:
1
ϵi2,
n∑
RMSE =
1
∑
MAD = | ϵi | ,
n
1 ϵi
n ∑ yi
MAPE = | |.
34
Todas las siglas están en inglés. Esto les facilita la busqueda en la internet si
quieren profundizar. La primera es la raíz del error medio cuadrático. Esta es
probablemente la medida más comúnmente usada para evaluar desempeño de
modelos de pronóstico. Se parece mucho a error standard de la regresión. La difer-
encia fundamental es que este se aplica a datos nuevos. La segunda es el error abso-
luto medio que es muy parecida a la primera. La última es el error absoluto por-
centual medio. Igual que el anterior, pero expresado en términos relativos a la vari-
able dependiente. No es lo mismo decir, en promedio mi error es $10, que decir en
promedio me equivoco 1%.
Particiones
Volvamos ahora al problema del sobre-ajuste. De nada nos sirve tener un mod-
elo que sea muy preciso para pronosticar una muestra que ya conocemos, pero
malo para pronosticar una por conocer--es decir, nuevas observaciones. No esta-
mos en el negocio de pronosticar el pasado, sino el futuro. En casi todos los méto-
dos de Data Mining que discutiremos en esta clase trataremos de protegernos en
contra del sobre-ajuste dividiendo la muestra en 2 partes:
• Un set de entrenamiento (típicamente alrededor de 70% de los datos a
mano). Esta será la parte de la base de datos que el algoritmo podrá ver y de la
cual aprenderá. Tiene que ser lo suficientemente grande para capturar todos los
aspectos esenciales del proceso.
• Un set de prueba (el resto de la muestra). Estos datos nunca fueron “vistos”
por el algoritmo. Solo sirven para validar qué tan bueno es este algoritmo para
pronosticar datos “nuevos”.
Las observaciones en una base de datos se asignan aleatoriamente a las dos par-
ticiones arriba.
Ahora consideremos dos modelos cualesquiera. Podrían ser dos modelos de un
mismo tipo que solo se distinguen por sus distintos niveles de complejidad o po-
drían ser dos tipos de modelos completamente distintos. Como ejemplo del primer
tipo, podríamos estar evaluando dos regresiones con distinto número de variables
en el modelo. Por ejemplo, tenemos una ecuación que pronostica el consumo
como función única del ingreso y otra ecuación que además de ingreso incluye
35
sexo, edad, nacionalidad, educación. Como ejemplo del segundo tipo, podríamos
estar comparando la habilidad de un modelo de regresión lineal contra la de un
modelo de redes neuronales (neural networks). ¿Cómo decidimos cuál es mejor
modelo?
Si capacidad de pronóstico es nuestra métrica, deberíamos seleccionar el mod-
elo que exhiba el menor error en el set de prueba. En esta clase, ustedes estarán ex-
puestos a una serie de modelos diferentes que han surgido en distintos campos de
la ciencia (regresiones, arboles, knn, y otros más). Mi recomendación es que no se
enamoren de ninguna técnica en particular. El proceso de Data Mining es un
proceso de experimentación; de prueba y error hasta hallar el modelo que hace la
mejor labor de pronóstico para una base de datos en particular.
36
C APITULO CUATRO
37
Figura 1: El Vecino Mas Cercano (Voronoi Tessellation)
38
Figura 2: El Vecino Mas Cercano (Variables Positivamente Correlacionadas)
método es que quiere decir “el estudiante o los estudiantes más parecidos”al estu-
diante con la nota perdida.
Como probablemente sospechan, si las variables son todas continuas, uno
puede usar la distancia euclidiana que utilizamos para construir grupos en Agrupa-
miento por K-Means, para hacer concreta la noción de cercanía entre observacio-
nes. En el ejemplo arriba, queremos pronosticar el valor de un score de un ex-
amen de Organización. Esta sería la variable dependiente. Basados en los scores
de Contabilidad y Finanzas, dos variables continuas, queremos hallar la observa-
cion más cercanas a la observación que queremos pronosticar. La Figura 1 mues-
tra un ejemplo. Cada punto en el gráfico representa una observación con dos
scores para las dos clases. Las áreas identificadas en el gráfico, conocidas como Vo-
ronoi tessellations, demarcan las regiones para las cuales cada uno de los puntos rep-
resentados por los asteriscos son el vecino mas cercano. Cuando una nueva obser-
vación aparece en este gráfico, simplemente identificamos el centroide del area y
asignamos al nuevo punto el valor de la variable dependiente correspondiente a
39
este centroide. En la Figura 1, los scores en Contabilidad y Finanzas parecen no
estar relacionados. Más realista es la Figura 2, donde si existe una correlación posi-
tiva entre los dos scores. Ambas son materias numéricas. Aun en esos casos, po-
demos definir las mismas areas. Cuando K>1 o cuando tenemos más de dos vari-
ables independientes a considerar, ya no es posible representar gráficamente como
funciona este método. Como a menudo ocurre, la intuición la desarrollamos con
ejemplos sencillos; después generalizamos.
En general, el algoritmo KNN para pronosticar el valor de la variable dependi-
ente de una nueva observación involucra los siguientes pasos:
• Calcular las distancias entre la nueva observación y cada una de las observa-
cion es en la base de datos
• Seleccionar las K observaciones en la base de datos más cercanas a la observa-
ció n para la que queremos una predicción
• Promediar los valores de la variable dependiente para las K observaciones
más cercanas. Este promedio es el pronóstico para la variable dependiente de la
nueva observación.
Noten algo sobre este tipo de algoritmos que les da su mal nombre . Antes de
que se necesite un pronóstico no es necesario hacer nada. No se estima ninguna ec-
uación. No se calcula ninguna distancia. Es sólamente en el momento justo en que
vamos a pronosticar que se hace todo el trabajo. Esto hace que a este tipo de algo-
ritmos se les llame “perezosos”.
KNN como Método de Clasificación
Uno de los atractivos del método de KNN es que este puede aplicarse tanto a
problemas de predicción como a problemas de clasificación. Los pasos que involu-
cra clasificar una nueva observación son casi idénticos a los reportados arriba.
Imaginen el siguiente ejemplo. Un nuevo cliente solicita un crédito en un banco.
El banco obtiene de él/ella información sobre una serie de variables que el banco
considera importante en la asignación de este crédito. ¿Cómo puede tomar una de-
cisión el banco sobre la naturaleza de este nuevo cliente? ¿Será un buen cliente (un
40
cliente que paga sus todas sus obligaciones financieras a tiempo) o será un mal cli-
ente (un cliente que hará default sobre su préstamo)?
El problema del banco es clasificar al nuevo cliente como perteneciente a una
de dos clases: buen cliente o mal cliente. El banco podría encontrar a los K clien-
tes en su base de datos que más se parecen al nuevo cliente. Para clasificar al
nuevo cliente, el banco pone a “votar” a los K-clientes más parecidos. Si la may-
oría de ellos son buenos clientes, el banco clasificará como buen cliente al nuevo
cliente. De otra forma, será clasificado como un mal cliente.
Midiendo Distancias: El Caso de Variables Categóricas
Cuando discutimos distancias en el contexto de Agrupamiento por K-Means,
impusimos, implícitamente, una restricción de que todas las variables tenían que
ser continuas. Cuando teníamos una variable categórica, la convertiamos a vari-
able binaria y la tratabamos como variable numérica. Es posible hacer las cosas un
poco mejor definiendo directamente lo que queremos decir por semejantes o pare-
cidos cuando una variable es categórica.
Supongamos que hacemos una encuesta que contiene una batería de preguntas
de tipo si/no cuyas respuestas dan lugar a una serie de variables de naturaleza bina-
ria. Cuando comparamos dos individuos por sus respuestas, habrán preguntas en
la que los dos individuos respondieron si, otras en las que los dos respondieron no,
otras en las que el primer individuo dijo si y el segundo no y viceversa. Dados dos
individuos i y j, podríamos tabular el grado de coincidencia o desacuerdo entre los
dos con una tabla como la Tabla 1.
Individuo j
SI No
Individuo i Si a b
No c d
41
a+d
• Coeficiente de Coincidencia = a + b + c + d . Este coeficiente mide simplemente
el porcentaje de veces en que los dos individuos coincidieron en su respuesta, sea
esta si o no.
a
• Coeficiente de Jaquard = a + b + c . Este coeficiente ignora cuando dos indi-
viduos coinciden en decir no a una pregunta. Sólo las coincidencias positivas im-
portan. Si hay una pregunta en la encuesta que dice “Tiene usted cancer?” y dos
p1 p2 p3 p4 p5 p6 p7 p8
1 0 0 0 1 0 0 0 1
2 0 0 1 0 1 0 1 1
3 1 1 0 1 0 1 0 1
personas responden que si esto las hace muy semejantes. Cuando ambas respon-
den que no, esta coincidencia no tiene el mismo impacto. De hecho no tiene nin-
guno.
Considere ahora como ejemplo, los 3 individuos en la Tabla 2 y sus respuestas
a las 8 preguntas representadas por las columnas p1-p8. Trate de calcular los dos
coeficientes de semejanza sugeridos arriba. Verifique que los coeficientes de coinci-
dencia entre los individuos 1 y 2 es 0.5, entre los individuos 1 y 3 es 0.625 y entre
los individuos 2 y 3 es 0.125. Los coeficientes de Jaquard son respectivamente 0.2,
0.4 y 0.125. Ambas métricas indican que los individuos 2 y 3 son los más distintos
y que los individuos 1 y 3 son los más parecidos.
Midiendo Distancias cuando hay variables mixtas
En la mayoría de los casos, las bases de datos contienen variables de los dos ti-
pos: variables continuas y variables categóricas. En estos casos es necesario definir
nuevas métricas que consoliden la información sobre distancia y semejanza en un
sólo indicador. La formulería necesaria para hacerlo está mas allá de los que
quiero cubrir en estas notas. Baste decir que la mayoría del software que se utiliza
en Data Mining, sea comercial o sea open-source, cuenta con la capacidad para
calcular estas métricas mixtas.
42
Selección de K
La “complejidad” del modelo de KNN está inversamente relacionada al ta-
maño de K. Si K es igual a 1, esto quiere decir que el modelo contiene “n”
parámetros (las “n” medias utilizadas para pronosticar nuevas observaciones). En
general, uno puede pensar en el modelo KNN teniendo N/K parametros efecti-
vos.
¿Cómo seleccionamos K? De la misma forma que seleccionamos complejidad
en el contexto del modelo de regresión lineal. Pondremos a competir a modelos
con distintos valores de K. La competencia consiste en pronosticar con el menor
error las “nuevas” observaciones de la muestra de validación. El valor de K que re-
sulte en el menor error (como quiera que este sea medido; por ejemplo, podría ser
RMSE) será el K óptimo.
43
CAPITULO CINCO
Regresión Logística
44
como función, inicialmente, de la edad del subscriptor. Más adelante considerare-
mos edad e ingreso. La variable dependiente y está codificada de la siguiente
manera: es igual a 1 si la persona se subscribe al periodico y 0 si no se subscribe.
Aparte de que ser binaria, no hay nada especial sobre esta y y podríamos intentar
correr una regresión como la siguiente:
y = β0 + β1x1 + e
45
Supongamos que quiero hacer mi pronóstico sobre la probabilidad de que una
persona se subscriba al periódico para tres edades distintas: 25, 35 y 45. “Fácil”,
diran ustedes. Solo usamos la ecuación arriba y substituimos por x por los valores
25, 35 y 45 respectivamente. Los pronósticos puntuales para las tres edades son:
-0.087, 0.558, 1.203. El problema es que sólo el pronóstico del centro tiene sen-
tido. Las probabilidades son números mayores que 0, pero menores que 1. ¿Qué
quiere decir una probabilidad de -8.7% o de 120.3%?
Derivando la Regresión Logística
El problema inmediato que enfrentamos es cómo forzamos nuestros pronósti-
cos a caer siempre en el intervalo {0,1}. Una posible solución implementada por
la regresión logística es hacer a la probabilidad de éxito una función no lineal de los
regresores. En particular, renombrando prob(y = 1 | x) como p simplemente:
exp(β0 + β1x1)
p=
1 + exp(β0 + β1x1)
Esta expresión podrá lucir intimidante al principio, pero verán que resulta en
un modelo lineal muy fácil de interpretar. Noten primero que nada que definir p
de esta manera la obliga a estar comprendida entre 0 y 1. El numerador es siem-
pre un número positivo y el denominador (también siempre un número positivo)
es un poco mayor que el numerador. El objetivo de las derivaciones a continua-
ción es dejar en el lado derecho de la ecuación una expresión lineal de las xs.
46
p
log( ) = log(exp(β0 + β1x1))
1−p
p
log( ) = β0 + β1x1
1−p
La probabilidad de éxito podrá no ser una función lineal de las x's, pero una
p
función bastante simple de la probabilidad, log( 1 − p ), si lo es. La última línea de
la derivación es la única que me importa.
En el caso general de muchas variables dependientes, la regresión logística es-
tima la ecuación
p
log( ) = β0 + β1x1 + ⋯ + βn xn
1−p
Pronosticando Probabilidades
Corramos entonces la regresión logística para nuestro ejemplo sobre sub-
scripciones y edad. La ecuación obtenida es:
p
log( ) = − 26.5240 + 0.7810 * x1
1−p
p = 0.69235.
47
Para los otros dos valores, las probabilidades son 0.0091% y 99.9% respectiva-
mente.
La interpretación de coeficientes de la regresión logística difiere de lo que sabe-
mos sobre la regresión lineal. Recuerden que si yo estimo una ecuación lineal, diga-
mos
y = β0 + β1x1
48
Figura 1: Relación entre Edad y Probabilidad de Subscripción.
Clasificando Observaciones
En esta sección vamos a agregar una nueva variable a nuestro análisis. Supon-
gan que también tenemos información sobre el nivel de ingreso de la personas en
nuestra muestra. Esta variable está medida en miles de dólares. Supongamos que
estimamos una ecuación de regresión logística múltiple esta vez. Obtenemos:
p
log( ) = − 12.8129 + 0.2261 * Edad + 0.3811 * Ingreso
1−p
Lo que hemos dicho arriba aplica a esta nueva ecuación. Parece haber una rela-
ción positiva entre probabilidad de subscripción y ambos: edad e ingreso. Los sub-
scriptores de esta publicación parecen ser personas mayores y de dinero. Ahora su-
pongan que alguien nos pide clasificar a tres nuevos consumidores sobre los que
tenemos datos como “Subscriptores” o “No Subscriptores” (ver Tabla 1). ¿Cómo
decidirían ustedes? Piensen antes de seguir leyendo.
49
Consumidor Edad Ingreso
1 34 8
2 38 10
3 42 12
Tabla 1: Nuevos Consumidores
define una una frontera de decisión que podemos visualizar. La Figura 2 nos mues-
tra esta frontera y nos muestra las dos regiones a las que da lugar esta frontera. La
p
región magenta es la región donde log( 1 − p ) es positiva. Cualquier punto que
caiga en esta región sera automáticamente clasificado por nuestro método como
50
p
“Subscriptor”. La región celeste es la región donde log( 1 − p ) es negativa. Cu-
alquier punto que caiga en esta región será automaticamente clasificado como
“No Subscriptor”. En el gráfico, las observaciones están representadas como 1s o
0s dependiendo de si la persona se subscribe o no respectivamente. Noten que el
método cometerá errores en su clasificación. Los errores están representados en
color rojo. Otros métodos como Support Vector Machines y Análisis Discrimi-
nante comparten con la regresión logística esta característica de fronteras de deci-
sión lineales. En tres dimensiones, estas fronteras son planos y en más de tres di-
mensiones son hiper-planos.
Evaluando la Calidad de la Clasificación
Una vez que hemos estimado una ecuación logística, podemos utilizarla para
clasificar nuevas observaciones. ¿Cómo podemos formarnos una idea del éxito que
tendra un clasificador con nuevos datos? Podemos usar una estrategia idéntica a la
51
utilizada en regresión lineal. Podemos separar las observaciones con que contamos
en dos particiones: una partición de entrenamiento y una partición de prueba.
Con la partición de entrenamiento estimamos los coeficientes de la regresión logís-
tica. Una vez que tenemos esta ecuación, podemos pronosticar la probabilidad de
éxito para las observaciónes de la partición de prueba. Todas aquellas observacio-
nes con probabilidades de éxito mayores de 0.5 serán clasificadas como éxitos y el
resto como fracasos. Después podemos comparar nuestros pronósticos con las ver-
daderas membresías de estas observaciones. Cuatro posibilidades surgen :
• Exitos son pronosticados como éxitos
• Exitos son pronosticados como fracasos
• Fracasos son pronosticados como éxitos
• Fracasos son pronosticados como fracasos.
Cuando esta información es organizada en una matriz, obtenemos la llamada
matriz de confusión. A partir de esta matriz, podemos construir una serie de métri-
cas para evaluar la calidad de nuestra clasificación en la partición de validación.
Dos muy sencillas son:
• Porcentaje de Aciertos es igual al número de observaciones en el caso 1 y el
caso 4 divididos entre el número total de observaciones a clasificar.
• Porcentaje de Error es igual al número de observaciones en el caso 2 y 3 di-
vididos entre el número total de observaciones a clasificar.
52
CAPITULO SEIS
Arboles
53
Figura 1: Ejemplo Original de un Arbol de Clasificación.
54
La simplicidad del arbol levanta sospechas que su precisión puede ser fácilmente mejorada con
los métodos standard de clasificación estadística. Sin embargo, cuando estos fueron usados, la preci-
sión del proceso de clasificación disminuyo.” (Breiman et al., 1980)
El Algoritmo CART: Cómo Funciona?
El nombre técnico de esta técnica es Partición Binaria Recursiva. Ahora verán
por qué. Consideremos el ejemplo ilustrado en la Figura 2. Tenemos un grupo hi-
potético de 48 individuos sobre los cuales tenemos informaci ón sobre edad e in-
greso. Sabemos también si estos individuos respondieron positiva o negativamente
a una oferta de venta. El color en el gráfico indica la clase a la que pertenecen: ne-
gro refleja los compradores y rojo refleja los no compradores. Nuestra misión es
construir una serie de reglas basadas en ingreso y edad para clasificar a un indi-
viduo ya sea como comprador o como no-comprador. Noten de entrada que méto-
dos de clasificación como regresión lineal o regresión logística que resultan en
55
fronteras de decisión lineales están condenados a fracasar. No hay línea que pueda
separar las dos clases exitosamente.
Echenle un vistazo al árbol de un par de páginas atrás. ¿Cómo fue seleccionada
la presión arterial para aparecer como primera variable en el arbol? ¿Por qué le
ganó a las otras 18 variables posibles? Además, ¿cómo fue seleccionado el valor de
91 para hacer la pregunta inicial? Claramente necesitamos una métrica para en-
tender porque algunas variables y algunos puntos de corte son óptimos. Esta
métrica es el índice de Gini (no tiene nada que ver con la medida de desigualdad
de ingreso).
El índice de Gini trata de medir la “impureza” de una partición. Pureza
máxima se alcanza cuando todas las observaciones en una partición pertenecen a
la misma clase. Pureza mínima se alcanza cuando las observaciones en una parti-
ción están igualmente repartidas entre las clases posibles (mitad y mitad si hay dos
1 1 1
clases; ( , , ) si hay tres clases y asi respectivamente). El índice de Gini está de-
3 3 3
finido:
pi2
∑
G =1−
57
Figura 3: Primera Partición.
nes nuevas resultantes. Para la partición inferior (ingreso<8.5), no hay corte que
logre pureza perfecta. Así que, de nuevo trataremos de minimizar el Gini. El corte
que logra es, por casualidad, el mismo que para la partición superior, “Es edad <
25?”.
En este segundo árbol, tenemos 4 posibles nodos finales. En tres de ellos, la
pureza es máxima en el sentido de que todos los clientes que caigan en esas parti-
ciones pertenecen a uno de los dos grupos: compradores o no compradores. Noten
58
una característica atractiva sobre el arbol de clasificación: si el arbol es pequeño,
es increíblemente intuitivo. De hecho, nos ayuda enormemente a construir el per-
fil de quienes son nuestros compradores. De acuerdo a este segundo árbol, los com-
pradores son o clientes de alto ingreso y edad relativamente alta (grupo en la ex-
59
trema derecha de la Figura 6) o clientes de ingreso bajo y edad relativamente baja
(grupo en la extrema izquierda).
Finalmente, sólo nos queda una partición con que lidiar (edad > 25 e ingreso <
8.5). Para esta, el corte que logra pureza perfecta también es obvio (ingreso < 6.5).
La muestra original ha sido cortada en una serie de rectangulos (recuerden que
solo cortes verticales u horizontales son permitidos) que forman las distintas parti-
ciones. En cada partición hemos logrado pureza perfecta. La partición final y el ar-
bol final pueden verse en las Figuras 7 y 8.
60
Figura 8: Arbol Final
61
ellos (los puntos rojos). Para los clientes en la particion superior, pronosticamos que
todos los clientes son compradores (realmente somos indiferentes. Pudimos haber-
los pronosticados todos no-compradores también). Por lo tanto, acertamos en 8 de
16 y nos equivocamos en 8 de 16. La tasa de error global es 16/48 = 33.33%. A
manera de ejercicio traten de calcular la tasa de error para el segundo y tercer ar-
bol.
Arboles de Regresión
Es fácil adaptar el algoritmo arboles de clasificación para lidiar con problemas
de predicción. Los invito a que traten de pensar que harían para desarrollar este
algoritmo antes de continuar leyendo esta sección.
La idea de particiones recursivas binarias todavía aplica al problema de predic-
ción (variable dependiente es continua ahora). Lo que cambia es la métrica que
utilizamos para hallar el mejor corte y la mejor variable para cortar. Consideren
una variación del ejemplo que hemos discutido en este capítulo. Ahora en lugar de
clasificar a un cliente como comprador o no, queremos pronosticar cuanto va a
comprar un cliente. La última columna de la Figura 11 contiene esta información.
Los datos fueron creados artificialmente usando la siguiente regla:
• ingreso bajo, edad baja, compras = Normal (media=50, desviacion stan-
dard=5)
• ingreso alto, edad alta, compras = Normal (media=100, desviacion stan-
dard=10)
• ingreso bajo, edad alta, compras = Normal (media=10, desviacion stan-
dard=2)
• ingreso alto, edad baja, compras = Normal (media=30, desviacion stan-
dard=5)
Es posible con estos datos correr una regresión de compras contra edad e in-
greso. Si lo hacemos obtenemos, la ecuación
Compras = − 70.44 + 2.68 * edad + 8.03 * ingreso
con un R-cuadrado de 27.72% y un RMSE=29.765.
62
Para construir nuestro árbol de regresión podríamos usar la métrica del
RMSE. Nuestro prónostico en cada partición será igual al promedio de la variable
compras de todos los miembros de esa partición. Por ejemplo, antes de empezar a
crear nuestro arbol, todas las observaciones pertenecen a la misma partición. Nues-
tro pronóstico es igual a la media de todas las observaciones. El RMSE es igual a
35.012.
Ahora empezamos a considerar todos los cortes posibles ya sea de edad o de in-
greso. Esto es exactamente igual que para el caso de clasificación. Pero ahora para
cada dos particiones resultantes calculamos el RMSE en cada partición (en lugar
del indice de Gini). El corte que resulte en la mayor reducción en el RMSE es
nuestra partición ganadora. La variable ganadora resulta ser ingreso (y el corte
<6.5). El RMSE cae a 29.00. El árbol resultante puede verse en la Figura 9. El ár-
bol se lee de la siguiente manera. Si el ingreso del cliente es mayor que 6.5, enton-
ces mi predicción de sus compras será $70.95. De lo contrario, mi predicción cae
a $28.71.
63
Figura 10: Arbol de Regresión Final.
64
CAPITULO SIETE
Naive Bayes
A George E. P. Box se le atribuye la famosa frase: “Todos los modelos son falsos...,
pero hay algunos que son útiles”. La frase aplica a la perfección al modelo que nos
ocupa en este capítulo--Naive Bayes. El modelo está construido sobre un supuesto
“ingenuo” que es falso en la inmensa mayoría de los casos--independencia condi-
cional, pero que resulta en una simplificación de la fórmula de Bayes que permite
que el modelo puede estimarse con bases de datos de tamaño razonable. Aunque
falso, Naive Bayes simple y sencillamente funciona. Además es rápido!
Comenzaremos con un breve refresher de los conceptos de probabilidad condi-
cional, independencia y el teorema de Bayes. Después explicaremos el supuesto so-
bre el que se construye Naive Bayes.
Probabilidades Conjuntas, Marginales y Condicionales
Supongan que tenemos información sobre género, nacionalidad y concentra-
ción de estudio (mercadeo o finanzas) para un número grande de estudiantes de
una universidad cualquiera. Esta información podría darsenos en la forma de una
tabla de conteos como la Tabla 1. Cada fila nos da el número de estudiantes que
satisfacen una combinación particular de género, nacionalidad y especialización.
Por ejemplo, la primera fila nos dice que hay 959 estudiantes que son hombres y
centroamericanos y siguen la especialización de Finanzas.
La misma información se nos podría presentar en términos porcentuales como
lo hace la Tabla 2. Para simplificar notación, llamemos X1 a la variable género
con posibilidades {H, M}. Llamemos X2 a la variable nacionalidad con posibili-
dades {C, S, N} y llamemos Y a la variable especialización con posibilidades {F,
M}. Ahora la primera fila nos dice que, de todo este grupo de estudiantes, el
65
Genero Nacionalidad Especializacion Conteo
Hombre CentroAmerica Finanzas 959
Hombre CentroAmerica Mercadeo 172
Hombre NorteAmerica Finanzas 271
Hombre NorteAmerica Mercadeo 140
Hombre SurAmerica Finanzas 337
Hombre SurAmerica Mercadeo 57
Mujer CentroAmerica Finanzas 253
Mujer CentroAmerica Mercadeo 244
Mujer NorteAmerica Finanzas 11
Mujer NorteAmerica Mercadeo 314
Mujer SurAmerica Finanzas 27
Mujer SurAmerica Mercadeo 215
3000
Tabla 1: Conteos de Estudiantes Universitarios.
Probabilidades
Genero Nacionalidad Especializacion
Conjuntas
Hombre CentroAmerica Finanzas 0.3197
Hombre CentroAmerica Mercadeo 0.0573
Hombre NorteAmerica Finanzas 0.0903
Hombre NorteAmerica Mercadeo 0.0467
Hombre SurAmerica Finanzas 0.1123
Hombre SurAmerica Mercadeo 0.019
Mujer CentroAmerica Finanzas 0.0843
Mujer CentroAmerica Mercadeo 0.0813
Mujer NorteAmerica Finanzas 0.0037
Mujer NorteAmerica Mercadeo 0.1047
Mujer SurAmerica Finanzas 0.009
Mujer SurAmerica Mercadeo 0.0717
1.0000
Tabla 2: Probabilidades Conjuntas
P(Y = F ) = 0.6193
P(Y = M ) = 0.3807
Podemos también calcular probabilidades condicionales. Por ejemplo, podría-
mos preguntarnos: Si sabemos que un estudiante es hombre y centroamericano,
cuál es la probabilidad de que estudie finanzas. Algebraicamente estamos pregun-
tando:
P(Y = F | X1 = H ∩ X2 = C)
Y confio que todos recordarán cómo calcular esa expresión usando la definición
de probabilidad condicional:
P(Y = F ∩ X1 = H ∩ X2 = C)
P(Y = F | X1 = H ∩ X2 = C) =
P(X1 = H ∩ X2 = C)
67
en la Tabla 1 todas las filas en las que aparezcan hombres y centroamericanos. La
suma es 1131 (979+172). Si dividimos entre el total de estudiantes obtenemos
1131/3000 = 0.377.
0.3197
P(Y = F | X1 = H ∩ X2 = C) = = 0.848
0.377
Quiero que reflexionen un poco. Estas probabilidades condicionales son detrás
de lo que hemos andado en todo este curso (por lo menos en la parte de métodos
de Clasificacion). Cuando corremos una regresión logística en este curso es porque
queremos calcular la probabilidad de éxito para un cliente dadas ciertas característi-
cas; queremos calcular una probabilidad de éxito condicional. Lo mismo aplica a
KNN y arboles de clasificación.
Siguiendo los mismos pasos podríamos calcular la probabilidad condicional de
que un estudiante siga la especialización de Mercadeo. Sin embargo, hay una
forma aún mas fácil de determinarla (una vez que calculamos la probabilidad con-
dional de que estudie Finanzas). Especialización sólo tiene dos posibilidades, Finan-
zas y Mercadeo. Por lo tanto, las probabilidades condicionales son complemen-
tarias. Por lo tanto,
68
nes. ¿Cuántas filas para 20 variables? 1,048,576. Multipliquemos por 100 y ya esta-
mos hablando de bases de datos absurdamente grandes.
Naive Bayes al Rescate
Aquí es donde entra en escena Naive Bayes. Como su nombre indica está rela-
cionado con el teorema de Bayes. ¿Que sugeriría el teorema de Bayes que hiciera-
mos para calcular la probabilidad condicional arriba? Si buscan “Teorema de
Bayes” en la internet probablemente encuentren una expresión como la siguiente:
El supuesto fundamental que hace el modelo de Naive Bayes tiene que ver
con el primer término a la derecha del símbolo ∝. Naive Bayes supone independen-
cia condicional. Googleen independencia (sin la parte condicional) y probablemente ob-
tengan la siguente definición: X1 y X2 son independientes si su probabilidad con-
junta es igual al producto de sus probabilidades marginales:
69
Sucede que esta aproximación resulta en una simplificación colosal en el proceso
de cálculo de estas probabilidades. En el caso de nuestro ejercicio atrás, Naive
Bayes implica que
y su complemento:
Probabilidad
Especializacion Genero Conteo
Condicional
Finanzas Hombre 1,567 0.8434
Mujer 291 0.1566
SubTotal 1,858
Mercadeo Hombre 369 0.3231
Mujer 773 0.6769
SubTotal 1,142
Total 3,000
Probabilidad
Especializacion Nacionalidad Conteo
Condicional
Finanzas CentroAmerica 1,212 0.6523
NorteAmerica 282 0.1518
SurAmerica 364 0.1959
SubTotal 1,858
Mercadeo CentroAmerica 416 0.3643
NorteAmerica 454 0.3975
SurAmerica 272 0.2382
SubTotal 1,142
Total 3,000
70
probabilidades condicionales y 2 probabilidades marginales. Las marginales ya las
calculamos atrás. Las repito:
P(Y = F ) = 0.6193
P(Y = M ) = 0.3807
La primera probabilidad condicional que necesitamos calcular es
P(X1 = H | Y = F ). Usemos la Tabla 3. En español, esta probabilidad responde la
pregunta: De todos los estudiantes de Finanzas (1,858), ¿qué proporción son hom-
bres? Hay 1,567 hombres. Estos representan un 0.8434 de todo el sub-universo de
estudiantes de Finanzas.
La segunda probabilidad condicional que necesitamos calcular es
P(X2 = C | Y = F ). Usemos ahora la Tabla 4. En español, esta probabilidad re-
sponde la pregunta: De todos los estudiantes de Finanzas (1,858), ¿qué proporción
son centroamericanos? Hay 1,212 centroamericanos. Estos representan un 0.6523
de todo el sub-universo de estudiantes de Finanzas.
La tercera probabilidad condicional que necesitamos calcular es
P(X1 = H | Y = M ). Usemos la Tabla 3. En español, esta probabilidad responde la
pregunta: De todos los estudiantes de Mercadeo (1,142), ¿qué proporción son hom-
bres? Hay 369 hombres. Estos representan un 0.3231 de todo el sub-universo de
estudiantes de Mercadeo.
La cuarta y última probabilidad condicional que necesitamos calcular es
P(X2 = C | Y = M ). Usemos ahora la Tabla 4. En español, esta probabilidad re-
sponde la pregunta: De todos los estudiantes de Mercadeo (1,142), ¿qué propor-
ción son centroamericanos? Hay 416 centroamericanos. Estos representan un
0.3643 de todo el sub-universo de estudiantes de Mercadeo. Listos. Ahora reem-
placemos:
y su complemento
71
P(Y = M | X1 = H ∩ X2 = C) ∝ P(X1 = H | Y = M ) * P(X2 = C | Y = M ) * P(Y = M )
P(Y = M | X1 = H ∩ X2 = C) ∝ 0.3231 * 0.3643 * 0.3807 = 0.0448.
Pero... si son complementos no deberían sumar a 1.00? Si, pero recuerden que el
teorema de Bayes que usamos no era una ecuación de igualdad era una de “pro-
porcional a”. Pero no entren en pánico. Esta es la parte más fácil de reparar. Si no
suman a 1.00, las hacemos sumar a 1 dividiendo entre la suma de los dos:
0.3403
P(Y = F | X1 = H ∩ X2 = C) = = 0.8836
0.3403 + 0.0448
0.0448
P(Y = M | X1 = H ∩ X2 = C) = = 0.1163.
0.3403 + 0.0448
72
ables. Las demandas de Naive Bayes son lineales en el número de variables. Cu-
alquier otro método basado en calcular las probabilidades correctamente estaría
destinado a fracasar.
Pero no nos engañemos. Naive Bayes hace un supuesto que a menudo (si no
siempre) es falso. En casos con pocas variables todavía es posible evaluar la hipóte-
sis de independencia condicional. En el ejercicio de este capítulo, por ejemplo,
cuando se evalua la hipótesis de independencia condicional, esta es rechazada
fácilmente. La Tabla 5 muestra las probabilidades condicionales calculadas correc-
tamente y aproximándolas con Naive Bayes. Noten que las diferencias pueden ser
grandes. Pero si todo lo que me importa es clasificar como éxito o fracaso, tal vez
esa diferencia no sea tan importante.
Probabilidad Naive
Sexo Nacionalidad Correcta
Condicional Bayes
Hombre CentroAmerica Finanzas 0.8479 0.884
Mercadeo 0.1521 0.116
Hombre NorteAmerica Finanzas 0.6594 0.619
Mercadeo 0.3406 0.381
Hombre SurAmerica Finanzas 0.8553 0.777
Mercadeo 0.1447 0.223
Mujer CentroAmerica Finanzas 0.5091 0.403
Mercadeo 0.4909 0.597
Mujer NorteAmerica Finanzas 0.0338 0.126
Mercadeo 0.9662 0.874
Mujer SurAmerica Finanzas 0.1116 0.236
Mercadeo 0.8884 0.764
Tabla 5: Comparacion de Probabilidades Condicionales Correctas vs. las
que resultan de aplicar Naive Bayes.
73
TERCERA SECCION
Apéndices
74
CAPITULO OC HO
Libros
Recomendados
• Data Mining for Business Intelligence: Concepts, Techniques, and Applications
in Microsoft Excel with XLMiner. Galit Shmueli, Nitin R. Patel, and Peter C.
Bruce. Este es el libro que a mi me hubiera gustado escribir. Es un libro para estu-
diantes de MBA. Si diera esta clase en inglés probablemente usaría este texto.
• Data Mining Techniques: For Marketing, Sales, and Customer Relationship
Management. Gordon S. Linoff and Michael J. Berry. Estos autores populariza-
ron el uso de Data Mining en el campo de Marketing.
• Competing on Analytics: The New Science of Winning. Thomas H. Davenport
and Jeanne G. Harris. Ni una sola ecuación en el libro. Es más que todo una his-
toria de las compañías que han sido exitosas en el uso de “analytics” en su estrate-
gia de negocios.
• Applied Predictive Modeling. Max Kuhn. Este es a mi juicio el mejor libro para
aprender todo el proceso de Data Mining desde preprocesamiento hasta imple-
mentación. Es también una manera excelente de alcanzar un nivel intermedio
en R. Kuhn es el autor de una importante library en R (caret) que hace la aplica-
ción de R más amigable, ordenada y sistemática.
• An Introduction to Statistical Learning: with Applications in R. Gareth James,
Daniela Witten, Trevor Hastie and Robert Tibshirani. Este es una excelente in-
troducción a la teoría de Data Mining desde un punto de vista estadístico. Los úl-
timos dos autores son legendarios en el campo de Data Mining. Son autores de
otro libro clásico en la disciplina, pero realmente avanzado. Este libro podría con-
siderarse la versión baby de ese libro.
75
CAPITULO NUEVE
Software
Recomendado
• RapidMiner: Este es el paquete oficial del curso de Data Mining. Es poderoso
de usar y con el entrenamiento apropiado, es también relativamente fácil de
utilizar. Una vez que uno empieza a utilizarlo, uno se pregunta por qué otros
paquetes no se comportan como este. La licencia es comercial, pero hay una Com-
munity Version que se distingue de la comercial simplemente por el apoyo técnico y
por el tipo de bases de datos a las que puede conectar.
• Tableau Software: Es un paquete comercial de visualización. Es mi pro-
grama de visualización favorito. Yo bajé una versión demo cuando salió para ex-
perimentar con el programa y cuando se venció la compré de inmediato. Pero...
de todas formas seguía siendo comercial. Un día decidieron hacer la versión com-
ercial disponible gratis para estudiantes. Desde entonces es un programa oficial
en mis cursos de Metodos y Data Mining.
• Microsoft Azure Machine Learning Studio: Esta es una plataforma de diseño
de programas que no requiere instalacion. Se utiliza desde un browser de inter-
net como Chrome o Firefox. Es un ejemplo perfecto del concepto de SaaS,
software-as-a-service. Se asemeja a RapidMiner en que el diseño de los programas
se hace gráficamente. Si confiará en la internet en América Latina, este sería el
programa oficial del curso (cero problemas de instalación).
Para los que quieran seguir haciendo Data Mining después de terminar este
curso, creo que es inevitable que tarde o temprano tengan que aprender uno de
los dos programas siguientes. El problema de ambos es que son lenguajes de pro-
76
gramación con curvas de aprendizaje relativamente empinadas. Pero no pain, no
gain:
• R y Rstudio: Estos realmente son dos “paquetes” distintos. El primero, R, es
probablemente el paquete estadístico más completo del mundo. Es ademas
open-source. RStudio es un GUI que se sienta encima de R y lo hace menos
traumático de utilizar.
• Python: Es el otro gran lenguage de Data Science. Tiene un grupo de segui-
dores y colaboradores tan grande y entusiasta como los de R. Es también un pro-
grama de aplicaciones generales (no sólo de Data Mining o Estadística) Python
es usado en MIT como el primer programa que aprenden los estudiantes de
Computer Science.
Tanto RapidMiner como el Machine Learning Studio tienen protocolos para
comunicarse con R y con Python. Esto debería darles una idea de que tan popu-
lares son estos dos programas.
77