Notas sobre Data Mining - s3.amazonaws.com · cada uno de los 6 puntos y los 3 centroides de la...

78
Notas sobre Data Mining CARLOS QUINTANILLA

Transcript of Notas sobre Data Mining - s3.amazonaws.com · cada uno de los 6 puntos y los 3 centroides de la...

Notas sobre Data Mining

C A R L O S Q U I N T A N I L L A

Dedicatoria

A todos los estudiantes que han sufrido mi curso y mis notas en todas sus

variaciones:

desde el mae 52,

pasando por el mae 55,

mae 56,

mae 57,

mae 58,

mba 2012 NI,

hasta, y muy especialmente,

el mba 2012 CR,

el primer grupo que no se quejo de nada :-)

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 QuintanillaManagua, Enero 02, 2013

Version 2.04 / 11-13-16

iii

P R I M E R A S E C C I O N

Data Mining No Supervisada

En esta sección estudiaremos dos técnicas de Data Mining No Supervisada: Agrupamiento por K-Means y Reglas de Asociación. Lo que identifica a una técnica como no supervisada es la ausencia de una variable dependiente.

4

C A P I T U L O U N O

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

Figura 1: Tres Grupos de Edad e Ingreso.

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

Esta fórmula es la fórmula para calcular la distancia de la hipotenusa como fun-ción de los otros dos catetos que uno aprende en primaria. Por ejemplo, la distan-cia entre el punto más abajo (4.18,20.08) y el punto más arriba (5.10,49.45) en la Figura 1 es:

d(p1,p2) = (5.10 − 4.18)2 + (49.45 − 20.08)2 = 29.38

En general, tendremos más de dos variables que considerar. La distancia euclid-iana entre el punto p = (p1, p2, . . . , pn) y q = (q1, q2, . . . , qn) está dada por la exten-sión natural de la fórmula de la distancia en dos dimensiones:

d(p, q) = (p1 − q1)2 + (p2 − q2)2 + . . . + (pn − qn)2

La Tabla 1 muestra 6 puntos tomados al azar de la Figura 1. La Tabla 2 cal-cula las distancias euclidianas entre todos los pares de puntos. en la Tabla 1.

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

Tabla 1: Puntos en el Espacio Edad-Ingreso.

ID Edad Ingreso1 35 0.52 37 1.23 24 3.24 26 4.15 44 5.86 46 6.3

queña posible y que la distancia entre miembros de grupos diferentes sea lo más grande posible.

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

Tabla 2: Distancias entre Puntos en Tabla 1.

1 2 3 4 5 6

1

2

3

4

5

6

0 2.11 11.32 9.69 10.44 12.43

2.11 0 13.15 11.37 8.37 10.34

11.32 13.15 0 2.19 20.16 22.21

9.69 11.37 2.19 0 18.08 20.12

10.44 8.37 20.16 18.08 0 2.06

12.43 10.34 22.21 20.12 2.06 0

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.

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

Tabla 3: Iteración 0. Generación Aleatoria de Centroides.

Grupo Edad Ingreso1 30 2.52 35 6.03 33 5.0

Tabla 4: Iteración 1, Paso 1 y Paso 2.

ID Edad IngresoC1

(2.5,30)C2

(6.0,35)C3

(5.0,33)Grupo

1 35 0.5 5.39 5.50 4.92 32 37 1.2 7.12 5.20 5.52 23 24 3.2 6.04 11.35 9.18 14 26 4.1 4.31 9.20 7.06 15 44 5.8 14.38 9.00 11.03 26 46 6.3 16.35 11.00 13.06 2

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.

Noten que ha habido una reasignación de grupos. La observación 2 que perte-necía al grupo 2 está ahora en el grupo 3. Volvemos a calcular las medias de Edad e Ingreso. Estos se convierten en los centroides de la siguiente iteración.

10

Tabla 5: Iteracion 1, Paso 3.

Grupo Edad Ingreso1 25 3.652 42.33 4.433 35.00 0.5

Tabla 6: Iteración 2, Paso 1 y Paso 2.

ID Edad IngresoC1

(3.65,25)C2

(4.43,42.33)C3

(0.5,35)Grupo

1 35 0.5 10.48 8.32 0.00 32 37 1.2 12.25 6.23 2.12 33 24 3.2 1.10 18.37 11.33 14 26 4.1 1.10 16.33 9.69 15 44 5.8 19.12 2.16 10.44 26 46 6.3 21.17 4.12 12.44 2

Tabla 7: Iteración 2, Paso 3.

Grupo Edad Ingreso1 25 3.652 45 6.053 36 0.85

Tabla 8: Tercera Iteración, Paso 1, Paso 2.

ID Edad IngresoC1

(3.65,25)C2

(6.05,45.0)C3

(0.85,36.0)Grupo

1 35 0.5 10.48 11.44 1.06 32 37 1.2 12.25 9.36 1.06 33 24 3.2 1.10 21.19 12.23 14 26 4.1 1.10 19.10 10.51 15 44 5.8 19.12 1.03 9.41 26 46 6.3 21.17 1.03 11.39 2

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:

x =1n ∑ xi

DCP =1n ∑ (xi − x)2

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:

DCP =1n

(∑ (xi − ¯xIA)2 + ∑ (xi − xIB)2)

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

Figura 2: Mas y Mas Grupos.

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.

13

Figura 3: Seleccionando el K Optimo.

Esta vez describiremos los grupos con un vector de medias en lugar de una sola media. El DCP seguirá siendo un solo número que captura ahora la variabilidad alredor de cada una de las medias dentro de cada uno de los grupos.

Una advertencia final: En los ejemplos de este capítulo, los grupos están clara-mente definidos. Los he seleccionado más por razones pedagógicas que por real-ismo. En la realidad, esta nítida separación rara vez ocurre. A menudo no habrá una caída violenta en la Figura 3 que nos permita identificar fácilmente el valor de K. Cuando hagamos gráficos como los de la Figura 1, no habrá una clara separa-ción. En muchos casos, deberemos emplear además de criterios estrictamente es-tadísticos (o en lugar de ellos), criterios de negocios. ¿Tienen sentido los grupos cre-ados? ¿Puedo hacer un perfil de cada uno de ellos? Si ofrezco distintas promocio-nes a estos grupos, ¿se comportan de manera distinta?

Normalización o Estandarización

Hay muchas dificultades y consideraciones técnicas alrededor de este método. Por ejemplo, la selección de los centroides iniciales, cuántas veces debemos iniciar el programa, cómo verificar que el programa no se ha estancado, etc. En estas no-tas introductorias vamos a ignorar la mayoría de estas tecnicalidades. Sin em-bargo, quiero discutir una en particular: la necesidad de normalizar de alguna manera las variables antes de correr el algoritmo.

El método de K-means es un método basado en el concepto de distancia. Desa-fortunadamente, la distancia entre 2 puntos depende de las unidades en que mida-mos las variables involucradas. Si medimos ingreso en dólares, en miles de dólares o en Logaritmo de miles de dólares, esto tiene importantes consecuencias sobre el calculo de las distancias.

Un problema serio que hay que resolver es el siguiente. Si no normalizamos de alguna manera las unidades en que están medidas las distintas variables, las vari-ables que estén medidas en las más grandes unidades dominarán la definición de los distintos grupos. Por ejemplo, si tengo una variable que mide ingreso en dólares (con rango digamos de $1,000 a $6,000 mensuales) y otra variable que mide porcentaje del presupuesto del hogar destinado a comer en restaurantes (con rango digamos de 0.03 a 0.2), cuando construyamos los grupos con K-Means la

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:

Z =X − X

σ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:

Z =X − min(X )

max(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

C A P I T U L O D O S

Reglas de Asociación

Si alguna vez han comprado un libro u otro artículo en Amazon.com, habrán notado que inmediatamente después de que uno hace click a un item cualquiera (por ejemplo, un libro sobre Data Mining), el sistema provee al usuario informa-ción sobre el item consultado como su precio, descuentos, tamaño, peso, reviews de otros usuarios, etc. El sistema sugiere también otros items que pueden resultarle de interés al usuario.

Por ejemplo, la Figura 1 muestra la selección de un libro de Data Mining. El ti-tulo del libro es Introduction to Data Mining. La página nos informa el precio del libro ($81.45), el autor (Pan-Ning Tan), el review promedio para el libro (4 y media es-trellas) y otros detalles (esta en stock, etc). En el panel de abajo, Amazon nos in-forma que hay otros dos títulos que han sido comprados “en paquete”por otros cli-entes que también compraron el libro que me interesa. No sólo eso; el sistema tam-bién nos sugiere que compremos los tres títulos juntos por un total de $151.04.

Como usuario de Amazon que soy, no puedo decirles el número de veces que he comprado libros sugeridos por el sistema además de los que yo buscaba o en lugar de los que había seleccionado. El sistema funciona de maravillas para mi como usuario al ayudarme a encontrar material relacionado sin mucho esfuerzo y fun-ciona aun mejor para Amazon al incentivar nuevas compras.

Este capítulo discute la técnica de Data Mining que esta detrás de este sistema--las llamadas reglas de asociación. La técnica también se conoce como Market Basket Analysis.

16

Bases de Datos Transaccionales

Antes de definir lo que son las reglas de asociación, echémosle un vistazo a las bases de datos de transacciones sobre las que estas se construyen. Pensemos en un ejemplo de un mini mercado que vende cientos de productos. Cuando un cliente paga por sus productos en la caja, una nueva transacción es generada. El sistema de registros de la tienda asignará a esta nueva transacción un número de identifica-ción único y registrará qué productos fueron comprados en esta transacción. La Tabla 1 presenta un ejemplo. Cada fila representa una transacción. La primera, por ejemplo, fue de una persona que compró Jamón, Pan y Queso. La segunda fue de una persona que compró Pan y Mantequilla y así sucesivamente. Un su-

17

Tabla 1: Ejemplo de transacciones en un supermercado.

Transacción # Items Comprados1 Jamón, Pan, Queso2 Pan, Mantequilla3 Naranjas, Pan, Huevos4 Huevos, Jamón, Pan5 Queso

Figura 1: Sistema de Recomendación de Amazon.com.

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.

Antes de alimentar a la computadora con estas transacciones es necesario repre-sentarlas en una forma que la computadora entienda. La manera standard de rep-resentarlas es una matriz binaria. En esta matriz, las columnas se refieren a los dis-tintos productos que ofrece el establecimiento y las filas a cada una de las transac-ciones registradas. Como su nombre lo indica, las entradas en esta matriz son 1s y 0s.

Tomemos una transacción en particular. Es decir, concentremonos en una fila de la matriz. Registraremos un 1 si el producto al que se refiere cada una de las co-lumnas está presente en la transacción y un 0 si no esta. La primera transacción de la Tabla 1 contenía 3 productos: Jamon, Pan y Queso. Para estas tres columnas escribiremos un 1 y para las otras tres (Mantequilla, Naranjas, Huevos) escribire-mos un 0. Verifiquen que el resto de la matriz en la Tabla 2 refleja correctamente las transacciones reportadas en la Tabla 1.

18

Tabla 2: Ejemplo de Matriz Binaria para el Ejemplo Anterior.

Transacción #

Jamón Pan Queso Mantequilla Naranjas Huevos

1 1 1 1 0 0 02 0 1 0 1 0 03 0 1 0 0 1 14 1 1 0 0 0 15 0 0 1 0 0 0

Si quisieramos representar graficamente esta matriz de transacciones podría-mos hacerlo como en la Figura 2. Esto nos puede ayudar a vizualizar cuáles son los productos más demandados. El ejemplo que hemos usado hasta el momento es, por supuesto, trivialmente pequeño. La siguiente figura (Figura 3) muestra 500 transacciones en 169 “productos” en una tienda verdadera. Una característica de este tipo de matrices que salta a la vista inmediatamente es que la mayor parte de sus entradas son 0s. Este tipo de matrices se conocen en matemáticas como matri-ces ralas (sparse matrices en inglés).

¿Qué son Reglas de Asociación?

Las reglas de asociación son reglas del tipo “Si-...-entonces-...” que tratan de medir la frecuencia con que dos productos (o grupos de productos) tienden a aparecer al mismo tiempo en una canasta. La notación que utilizaremos será la siguiente:

A ⇒ B

Esta regla se lee “Si el producto A está presente en la canasta, entonces el pro-ducto B también lo estará”. Toda regla tiene dos partes:

• el antecedente ( en este caso el producto A) y

19

Figura 2: Imagen de una Pequeña Matriz de Transaccio-nes con 6 productos (columnas) y 5 transacciones (filas).

• 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

Figura 3: Imagen de Matriz de Transaccio-nes con 169 productos y 500 transacciones.

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:

• ¿Con qué frecuencia se compra Jamón?

• ¿Con qué frecuencia se compran Huevos?

• ¿Con qué frecuencia se compran los productos Jamón y Huevos juntos?

• Si sabemos con seguridad que un cliente ha comprado Jamon, ¿qué tan prob-able es que también compre Huevos y viceversa.

Definamos algunos conceptos que nos ayuden a responder estas preguntas y otras relacionadas. Supongamos que A es un producto o grupos de productos. B es otro producto o grupo de productos.

1. Soporte de una Regla: Es la frecuencia relativa con que aparecen A y B simultáneamente en la base de datos. También es posible hablar del soporte de items individuales; podemos hablar del soporte de A y del soporte de B. Estos estarían definidos como las frecuencias relativas con que aparecen A o B indi-vidualmente. Podemos utilizar notación de probabilidad.

S(A) = P(A)

S(B) = P(B)S(A ⇒ B) = S(B ⇒ A) = P(A ∩ B)

21

2. Confianza de una regla: Es el cociente del soporte de una regla dividido entre el soporte del antecedente. Si soporte mide frecuencia, confianza mide fortaleza de una regla. Confianza es una probabilidad condicional.

C(A ⇒ B) = P(B |A) =P(A ∩ B)

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.

L(A ⇒ B) =P(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

Tabla 3: Soporte de Productos y Subconjuntos de Productos.

Tamaño Items Soporte1 Jamón 0.41 Pan 0.81 Queso 0.41 Mantequilla 0.21 Naranjas 0.21 Huevos 0.42 Pan, Queso 0.22 Pan, Jamón 0.42 Pan, Huevos 0.42 Pan, Mantequilla 0.22 Queso, Jamón 0.22 Jamón, Huevos 0.22 Huevos, Naranjas 0.23 Pan, Queso, Jamón 0.23 Pan, Jamón, Huevos 0.23 Pan, Huevos, Naranjas 0.2

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

Figura 4: Subconjuntos más frecuentes.

Tabla 4: Reglas con Soporte Mínimo de 0.4 y Confianza Mínima de 0.5.

Regla Antecedente Consecuencia Soporte Confianza Lift1 Pan Jamón 0.4 0.5 1.252 Pan Huevos 0.4 0.5 1.253 Jamón Pan 0.4 1.0 1.254 Huevos Pan 0.4 1.0 1.25

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

Figura 5: Representación Gráfica de Reglas de Asociación.

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

C(Arroz ⇒ Frijoles) =P(Arroz ∩ Frijoles)

P(Arroz)= 0.7

C(Frijoles ⇒ Arroz) =P(Arroz ∩ Frijoles)

P(Frijoles)= 0.8

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

L(Arroz ⇒ Frijoles) =P(Arroz ∩ Frijoles)

P(Arroz) * P(Frijoles)=

0.560.8 * 0.7

= 1

L(Frijoles ⇒ Arroz) =P(Arroz ∩ Frijoles)

P(Arroz) * P(Frijoles)=

0.560.8 * 0.7

= 1

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

C(Arroz ⇒ Frijoles) =P(Arroz ∩ Frijoles)

P(Arroz)= 0.825

C(Frijoles ⇒ Arroz) =P(Arroz ∩ Frijoles)

P(Frijoles)= 0.9428

L(Arroz ⇒ Frijoles) =P(Arroz ∩ Frijoles)

P(Arroz) * P(Frijoles)=

0.660.8 * 0.7

= 1.17

L(Frijoles ⇒ Arroz) =P(Arroz ∩ Frijoles)

P(Arroz) * P(Frijoles)=

0.660.8 * 0.7

= 1.17

Aplicaciones de Reglas de Asociación

Las reglas de asociación son la técnica de Data Mining más sencilla conceptual-mente. Las dificultades técnicas se refieren a su aplicación eficiente a grandes bases de datos. El descubrimiento de algoritmos que permitieron su aplicación a

26

estas no es de interés para nosotros en estas notas. Más interesante para nosotros es la aplicación de las reglas en un contexto de negocios. A continuación enumero algunas de las aplicaciones más comunes de esta técnica.

• Ventas Cruzadas: Imaginen el caso de Amazon.com. Cuando usted pone el libro de Introduccion al Data Mining en su canasta, Amazon sabe, por ejemplo, que 54% de los clientes que compraron ese libro compraron inmediata o posterior-mente los libros X, Y, Z. Así que, para tratar de inducir nuevas compras, Ama-zon informará al cliente sobre este comportamiento.

• Upselling: Si sabemos que las personas que compran pantalones de tipo A, típicamente compran fajas de tipo B, podríamos tratar de inducir a los clientes a comprar mejor fajas de tipo C que tienen un margen superior para nosotros.

• Promociones: Si sabemos que el café y las rosquillas se compran juntas po-demos inducir la compra de más rosquillas ofreciendo descuentos al café. Otra manera de utilizar esta información sobre esta regla es que no queremos ofrecer descuentos simultáneos a café y rosquillas. Cuando los clientes compren más café, respondiendo a nuestro descuento, esperamos que automáticamente com-pren más rosquillas sin necesidad de ofrecerles un descuento.

• Optima colocación de los productos en los estantes de la tienda. Si yo se que el productos A y el B tienden a comprarse juntos, puedo ponerlos juntos para hacer mas fácil la compra... o puedo ponerlos lejos uno del otro para exponer a mi cliente a otros productos.

• Bundling: Reglas de asociación pueden ofrecer información valiosa en el diseño de paquetes de productos.

27

S E G U N D A S E C C I O N

Data Mining Supervisada

En esta sección nos movemos de técnicas en las que todas las variables juegan el mismo rol a técnicas en las que el objetivo principal es explicar una variable, la variable dependiente, como función de otro grupo de variables, las variables independientes. Esto hace a estos méto-dos ejemplos de Data Mining Supervisada. Hay dos variedades principales: Predicción y

Clasificación. Cuando la variable dependiente es continua, hablaremos de proble-mas de predicción. Cuando la variable dependiente es categórica (binaria o poli-nominal), hablaremos de problemas de clasificación.

28

C A P I T U L O T R E S

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 + ϵdonde Y es la variable a explicar, X son los atributos y ϵ es un componente aleato-rio. Por ejemplo, podríamos tratar de estimar una ecuación que explique el con-

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

Comencemos graficando los datos de la Tabla 1 en la Figura 1. La relación en-tre Consumo e Ingreso parece bastante lineal. Así que nos animamos a estimar una regresión lineal.

El programa que usamos para estimar esta regresión nos dice que la mejor línea que pasa a través de esos puntos es:

Consumo = 8.4 + 0.845 * Ingreso

Podemos representar esta línea gráficamente (ver Figura 2). No sólo eso; el ajuste parece ser muy bueno medido por la R-cuadrada=0.9816. La pregunta es: ¿No podríamos mejorarla un poco más aumentando la complejidad de nuestro

31

Tabla 1: Relación entre Consumo e Ingreso.

Observacion Ingreso Consumo1 100 922 120 1133 140 1234 160 145

Figura 1: Consumo como Función 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 * Ingreso2

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 * Ingreso2 + 0.00047 * Ingreso3

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 2: Modelo Lineal de Consumo como Funcion de Ingreso.

33

Figura 3: Modelo Cuadrático de Consumo como Funcion de Ingreso.

Figura 4: Modelo Cúbico de Consumo como Función de Ingreso.

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 = Yi + ϵi

Yi = 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:

RMSE =1n ∑ ϵ2

i ,

MAD =1n ∑ |ϵi | ,

MAPE =1n ∑ |

ϵi

yi| .

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 A P I T U L O C U A T R O

KNN, K Vecinos Más Cercanos

En el capítulo anterior discutimos el modelo de regresión lineal. Este es un modelo muy estructurado. La forma de la relación entre la variable dependiente y las inde-pendientes está pre-especificada como una ecuación lineal. Como resumen de la información sobre esta relación, la ecuación estimada es increiblemente eficiente. Podemos reducir una base de datos de miles o millones de observaciones a una sola ecuación. Si quisieramos información adicional sobre el comportamiento de las variables independientes podríamos incluir información sobre sus medias y des-viaciones standards. Todo cabe en un archivo de unos cuantos kilobytes.

Al otro extremo de la regresión lineal se encuentra el “modelo” de K vecinos más cercanos (conocido como KNN por sus siglas en inglés, K-nearest neighbors). Este “modelo” no impone ninguna forma funcional a la relación entre la variable dependiente y las variables independientes. Esto lo hace sumamente flexible. Esto lo hace muy robusto a “misspecifications” sobre estas formas funcionales. Si tene-mos la dispersión necesaria de las variables independientes, este método puede lle-gar a aproximar funciones no-lineales de cualquier complejidad. El costo es que no hay modelo. El modelo son los datos. No hay descripción o resumen de los da-tos. Después de correr el modelo, no hay nada que ver. Cuando queremos “guardar” el modelo, tenemos que guardar toda la base de datos.

El Método de KNN

Imaginen la siguiente situación (completamente hipotética debo apresurarme a aclarar): Los estudiantes de un programa de MBA han tomado un examen al final del primer año de su programa. El resultado de este examen es el criterio de deci-sión para la promoción de los estudiantes a segundo año. Las tres partes del ex-

37

amen son: Contabilidad, Finanzas y Organización. El problema es que la califica-ción para la parte de organización del último estudiante que tomó el examen se ha “extraviado”. Nadie sabe a ciencia cierta si el estudiante no entregó esa parte o si la persona que cuidaba el examen perdió el documento. Lo cierto es que está per-dido y por alguna razón que no nos importa en este instante, el examen no puede repertirse.

¿Cómo pronosticamos el score que obtuvo este estudiante en Organización? El profesor de Finanzas sugiere encontrar al estudiante en la lista que más se parece al estudiante con el examen perdido. Tomar su nota de organización y asignársela al estudiante con la calificación faltante. Al profesor de Estadística le gusta la idea, pero sugiere una modificación: buscaremos a los 10 estudiantes que más se parezcan al estudiante con la nota perdida, tomaremos sus notas de organización, las promediaremos y asignaremos este promedio al estudiante con la calificación faltante. Los dos profesores están sugiriendo el método de KNN; solo difieren en el valor de K. Lo único que tenemos que precisar antes de hacer operativo este

38

Figura 1: El Vecino Mas Cercano (Voronoi Tessellation)

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

Figura 2: El Vecino Mas Cercano (Variables Positivamente Correlacionadas)

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.

Las medidas de semejanza más comunmente usadas en análisis de KNN son:

41

Tabla 1: Coincidencia de Respuestas entre Dos Observaciones.

Individuo jIndividuo jIndividuo j

Individuo iIndividuo iIndividuo iSI No

Si a bNo c d

• Coeficiente de Coincidencia = a + da + 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.

• Coeficiente de Jaquard = aa + 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

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

Tabla 2: Respuestas de 3 individuos en una encuesta hipotética.

p1 p2 p3 p4 p5 p6 p7 p8

1

2

3

0 0 0 1 0 0 0 1

0 0 1 0 1 0 1 1

1 1 0 1 0 1 0 1

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

C A P I T U L O C I N C O

Regresión Logística

Consideren el caso de un banco que recibe de una empresa una solicitud de préstamo. El banco conoce algunas características de la empresa en los últimos años como su nivel de endeudamiento actual, su nivel de ventas, su nivel de utili-dades. Basado en estas características, el banco debe tomar una decisión sobre si prestar o no el dinero a la empresa. En otras palabras, el banco debe clasificar a la empresa como miembro de una de dos clases: las empresas que pagarán su préstamo y las que no lo harán.

En este capítulo comenzaremos la discusión de modelos de clasificación. A se-mejanza de los modelos de predicción, los modelos de clasificación son modelos su-pervisados de Data Mining. En otras palabras, hay una variable dependiente que nos interesa explicar o pronosticar. Pero a diferencia de los modelos de predicción, esta variable ya no es una variable continua, sino una categórica. Lo que quere-mos pronosticar ahora es si una observación pertenece o no a un grupo finito de clases.

La regresión logística es un método de clasificación que supone que podemos modelar la probabilidad, y más precisamente una transformación de esta probabili-dad, como una función lineal de las variables dependientes. En Estadística, este tipo de modelos se conocen como Modelos Lineales Generalizados.

Por qué no Seguir Usando Regresión Lineal?

Consideren el siguiente ejemplo. Tenemos datos sobre las preferencias de 1,000 consumidores y algunas variables demográficas sobre ellos. En particular, supon-gan que estamos estudiando quienes son los subscriptores a un periódico local

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 donde x1 es la edad de la persona.

Antes de discutir la interpretación de los coeficientes pensemos por un segundo sobre el significado de un pronóstico formulado a partir de esta ecuación. Recuer-den que el pronostico de una regresión es nuestro estimado del valor esperado de la variable dependiente como función de los regresores. Pero, ¿cuál es el valor es-perado de una variable que sólo toma dos valores 0 y 1?

E(y |x) = 1 * prob(y = 1 |x) + 0 * prob(y = 0 |x)

= prob(y = 1 |x)

El pronóstico no es otra cosa que nuestro estimado de la probabilidad de éxito (y = 1) como función de las x's; en nuestro ejemplo, la probabilidad de que una persona se subscriba al periódico como función de la edad. Pongámosle números.

Supongan que corro la regresión y obtengo los siguientes resultados:

y = − 1.7007 + 0.06454 * x

La probabilidad de que una persona se subscriba al periódico es una función lineal de la edad de esta persona. A mayor sea la edad, mayor será la probabilidad de que esta persona se subscriba. Dado que las edades oscilan entre 20 y 55, po-demos concluir que este es un periódico que llama la atención a personas mayores principalmente. El coeficiente de la pendiente puede interpretarse de la siguiente manera: por cada año de edad, la probabilidad de que una persona se subscriba al periódico aumenta 6.45%.

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:

p =exp(β0 + β1x1)

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.

p

1 − p=

exp(β0 + β1x1)1 + exp(β0 + β1x1)

÷ (1 −exp(β0 + β1x1)

1 + exp(β0 + β1x1))

p

1 − p=

exp(β0 + β1x1)1 + exp(β0 + β1x1)

÷1

1 + exp(β0 + β1x1)

p

1 − p=

exp(β0 + β1x1)1 + exp(β0 + β1x1)

*1 + exp(β0 + β1x1)

1

p

1 − p= exp(β0 + β1x1)

46

log(p

1 − p) = log(exp(β0 + β1x1))

log(p

1 − p) = β0 + β1x1

La probabilidad de éxito podrá no ser una función lineal de las x's, pero una función bastante simple de la probabilidad, log( p

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

log(p

1 − p) = β0 + β1x1 + ⋯ + βnxn

Pronosticando Probabilidades

Corramos entonces la regresión logística para nuestro ejemplo sobre sub-scripciones y edad. La ecuación obtenida es:

log(p

1 − p) = − 26.5240 + 0.7810 * x1

Ahora podemos usar esta ecuación para pronosticar la probabilidad de sub-scripci ón para personas de distintas edades. Usemos los valores que pusieron en problemas a la regresión lineal simple x={25,35,45}. Para una edad de 35,

log(p

1 − p) = − 26.5240 + 0.7810 * 35

log(p

1 − p) = 0.8111

exp(log(p

1 − p)) = exp(0.8111)

p

1 − p= 2.2504

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 + β1x1el coeficiente β1 mide la sensitividad de la variable dependiente, y, a cambios en la variable independiente x1. Más precisamente, decimos que β1 es el cambio en y cuando x1 cambia una unidad.

Cuando corremos una regresión logística estamos estimando la ecuación

log(p

1 − p) = β0 + β1x1.

Aquí podríamos decir que β1 es el cambio en log( p1 − p ) cuando x1 cambia una

unidad. Estaríamos en lo cierto, pero log( p1 − p ) no es una variable “natural”. Lo

que quisieramos hacer es medir el efecto de un cambio de una unidad en x1 sobre p. Quisieramos decir cosas como: “un aumento en 1 año en la edad de una per-sona, aumenta (o reduce) la probabilida d de que esta persona se subscriba al periódico en 0.03”. Desafortunadamente ya no es posible dar una respuesta con-stante que sea válida para todo el rango de valores de edad. La sensibilidad de la probabilidad de subscripción a cambios en edad depende la edad misma. Técnica-mente, la pendiente de la función de probabilidad con respecto a edad no es con-stante como pueden comprobar en la Figura 1. La pendiente es casi horizontal para niveles bajos de edad. Se hace muy empinada para valores cercanos a 35 y se vuelve casi horizontal para valores cerca de 40.

Lo que todavía podemos interpretar en la ecuación estimada es el signo de los coeficientes. Aunque el 0.7810 en la ecuación arriba no sea fácilmente interpret-able, su signo positivo si lo es. Hay una relación positiva entre edad y probabilidad de subscripción.

48

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:

log(p

1 − p) = − 12.8129 + 0.2261 * Edad + 0.3811 * Ingreso

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

Figura 1: Relación entre Edad y Probabilidad de Subscripción.

Un criterio aceptable sería: voy a clasificar a un individuo como subscriptor si la probabilidad de que sea subscriptor es alta. Cuando hay sólo dos posibilidades: éxito o fracaso, una probabilidad alta es una probabilidad mayor que 0.5. Nuestro criterio entonces es: si la probabilidad de subscripción es mayor que 0.5 clasifico a la persona como subscriptor. De otra forma lo clasifico como no-subscriptor. Cuando aplicamos los resultados de la regresión anterior a esta tabla obtenemos la siguiente tabla:

Si regresamos a la ecuación de pronóstico una vez más, podemos pensar en como visualizar este proceso de clasificación. La ecuación dice:

log(p

1 − p) = − 12.8129 + 0.2261 * Edad + 0.3811 * Ingreso

Clasificaremos a alguien como subscriptor, si la probabilidad de subscripción es mayor que 0.5. ¿Qué valor toma log( p

1 − p ) cuando p=0.5? Toma el valor de 0. Esto significa que la ecuación

−12.8129 + 0.2261 * Edad + 0.3811 * Ingreso = 0define 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 región magenta es la región donde log( p

1 − p ) es positiva. Cualquier punto que caiga en esta región sera automáticamente clasificado por nuestro método como

50

Tabla 1: Nuevos Consumidores

Consumidor Edad Ingreso1 34 82 38 103 42 12

Tabla 2: Clasificación de los Nuevos Consumidores

Consumidor Edad Ingreso Log-Odds Probabilidad Clasificación1 34 8 -2.0767 0.1113 No Subscriptor2 38 10 -0.4101 0.3988 No Subscriptor3 42 12 1.2565 0.7784 Suscriptor

“Subscriptor”. La región celeste es la región donde log( p1 − 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

Figura 2: Frontera de Decisión para Regresión Logística.

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

C A P I T U L O S E I S

Arboles

En el capítulo anterior, estudiamos el método de regresión logística. Este es un ejemplo de un método de clasificación paramétrico. Estimamos los coeficientes o parámetros de una ecuación lineal que conecta las variables independientes con la probabilidad de éxito a través de una función sencilla. Los árboles de clasificación, al otro extremo, son un ejemplo de un método no-paramétrico de clasificación. La relación entre la variable dependiente y las variables independientes no asume nin-guna forma funcional especial. De hecho, la relación se representa gráficamente. A diferencia de la regresión logística, que sólo puede ser usado para analizar vari-ables binomiales o binarias, los arboles pueden ser aplicados a variables categori-cas con más de dos categorías. Los árboles fueron propuestos independientemente en los años ochentas por Leo Breiman en Estadística y Thomas Quinlan en Com-puter Science.

El objetivo de un árbol de clasificación es asignar un grupo de observaciones a un número reducido (aunque no necesariamente igual a 2) de clases, usando infor-mación sobre un grupo de variables independientes. Aunque las matemáticas de la técnica estén más alla de lo que nos interesa en este curso, la presentación de los resultados es sumamente intuitiva. El lector que haya tomado un curso de Manage-ment Science, notará la semejanza con los árboles de decisión y recordará lo efecti-vos que éstos son para representar un proceso de toma de decisiones. Los árboles de clasificación comparten esta propiedad atractiva.

La construcción de un árbol, que discutimos en la siguiente sección, se parece mucho a la manera en que un doctor llega a un diagnóstico sobre un paciente. El médico hace una serie de preguntas de tipo si/no (Tenés fiebre? Te duele la

53

cabeza? Tenés tos? Estás cansando?). Dependiendo de las respuestas que el médico va a recibiendo, éste cambia las preguntas que hace y finalmente llega a una conclusión. De hecho, una de las primeras aplicaciones de árboles en Estadís-tica fue la clasificación de pacientes que acababan de tener un ataque al corazón como miembros de dos clases: alto riesgo y bajo riesgo de experimentar complica-ciones fatales en los 30 días posteriores al ataque:

“En el Centro Medico de la Universidad de California en San Diego, cuando una persona que ha sufrido un ataque al corazon es admitida, 19 variables son recogidas durante las primeras 24 horas. Estas incluyen presión arterial, edad y 17 otras variables binarias o numéricas resumiendo todos los síntomas considerados indicadores importantes sobre la condición del paciente.

El objetivo de un estudio reciente (...) fue desarrollar un método para identificar pacientes de alto riesgo (que no sobreviviran en los próximos 30 días) sobre la base de la información recogida durante las primeras 24 horas. La Figura 1 ilustra un set de reglas estructuradas en un árbol de clasificación que fue producido en ese estudio. Las variables utilizadas en el árbol son presión arte-rial (BP), edad (age) y taquicardia (ST).

54

Figura 1: Ejemplo Original de un Arbol de Clasificación.

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

Figura 2: Ejemplo de Construcción de Arbol de Clasificación

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

clases; ( 13

,13

,13

) si hay tres clases y asi respectivamente). El índice de Gini está de-

finido:

G = 1 − ∑ p2i

donde el subíndice corre de 1 al número de clases (2 en este ejemplo). En nuestro ejemplo, en la muestra tenemos 32 observaciones de individuos que compran y 16 observaciones de individuos que no compran. Entonces

G = 1 − (3248

)2 − (1648

)2 = 0.4444.

Ahora el algoritmo considerará todos y cada uno de los cortes verticales u hori-zontales que dividan la muestra original en 2 particiones. Por ejemplo, comen-zando con edad probaremos todos los cortes posibles:

• Es Edad < 19?

• Es Edad < 20?

• ...

• Es Edad < 31?

56

Después continuaremos con ingreso:

• Es Ingreso < 5.5?

• Es Ingreso < 6.5?

• ...

• Es Ingreso < 9.5?

Para cada uno de esos cortes posibles, tenemos una partición resultante. Dado que el objetivo es maximizar la métrica de pureza y el índice de Gini mide im-pureza, la partición ganadora será aquella que logre reducir el índice lo máximo posible. Una vez que hemos encontrado el ganador, hemos logrado partir la mues-tra original en dos particiones. Ahora aplicamos el mismo proceso a cada una de las particiones resultantes y así sucesivamente (y así recursivamente).

En nuestro ejemplo, el corte que resulta en la reducción máxima en el índice de Gini es “Es Ingreso < 8.5?”. Esta partición puede verse en la Figura 3 y resulta en la primera parte del árbol que podemos ver en la Figura 4. Comentemos rápi-damente este árbol. El árbol pregunta incialmente por el nivel de ingreso. Si el nivel de ingreso es menor que 8.5, tomamos el nodo de la izquierda. En este nodo hay 32 clientes en total. De ellos, 24 compran el producto y 8 no compran el pro-ducto. Podríamos afirmar entonces que la probabilidad de compra en este nodo es 75%. Si tuvieramos que clasificar a una persona que caiga en este nodo, muy prob-ablemente la clasificaríamos como un comprador (realmente, técnicamente, esto depende de la probabilidad de corte que estemos usando. Esta a su vez, dependerá de los costos relativos de cometer los dos errores en clasificación).

Si el nivel de ingreso es mayor que 8.5, tomamos el nodo de la derecha. En este nodo hay 16 clientes. De ellos, 8 compran y 8 no compran. Es decir, en este nodo la probabilidad de compra es 50%. Sin mayor información sobre los costos de cometer los distintos errores en clasificación seríamos indiferentes entre clasificar alguien que caiga en este nodo como comprador o no.

Ahora el proceso se repite. Primero para la partición superior (ingreso>8.5). Allí el corte que maximizará pureza es obvio (¿Es edad < 25?). Con este corte lo-gramos pureza máxima y ya no haremos más preguntas sobre estas dos particio-

57

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

Figura 3: Primera Partición.

Figura 4: Primer Nivel del Arbol.

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

Figura 5: Segunda y Tercera Partición.

Figura 6: Segundo Nivel del Arbol.

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.

En este ejemplo inicial, hemos ilustrado el principio de que aumentando la complejidad de un modelo, es posible eliminar todo error en los datos que se nos da para entrenar ese modelo. La complejidad de un árbol se mide por el número de niveles que tiene el árbol. La pregunta crítica en este momento es: ¿Vale la pena alcanzar pureza perfecta o debimos habernos detenido antes de lograrla?

60

Figura 7: Ultima Partición

El lector que ha leído atentamente estas notas ya conoce la respuesta. Aumen-taremos la complejidad del modelo siempre y cuando esto nos compre poder de predicción con observaciones nuevas. Por lo tanto, seleccionaremos la complejidad del modelo usando validación simple o validación cruzada. Usando una muestra de entrenamiento estimaremos árboles de distintas complejidades. Utilizaremos una muestra de prueba para evaluar el desempeño de estos distintos árboles. Nos quedaremos con el árbol que pronostique mejor esta muestra de prueba. Ese es el nivel óptimo de complejidad de un árbol.

Bondad de Ajuste

¿Qué tan exitoso es un árbol como método de clasificación? La métrica que usamos para evaluar el árbol es la misma que utilizamos para evaluar la regresión logística o KNN para clasificación. Le pedimos al algoritmo que clasifique cada ob-servación en la muestra de prueba y comparamos estos resultados con las clases ob-servadas en la realidad.

Tratemos de calcular la matriz de confusión para los árboles de la sección ante-rior. Para el primer árbol que corresponde a las Figuras 3 y 4, nuestra predicción para la partición inferior es que todos los clientes en esa partición serán compra-dores. Acertamos para 24 de los 32 (los puntos negros) y nos equivocamos en 8 de

61

Figura 8: Arbol Final

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 * ingresocon 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.

Ahora con las dos particiones resultantes, comenzamos nuestro trabajo de nuevo. Buscamos por separado para cada partición, cuál es la mejor variable y el mejor corte. En este caso, el árbol resultante recobra los parámetros utilizados para simular los datos con sorprendente exactitud. La Figura 10 reporta nuestro arbol final. El RMSE de este arbol ha caido a 8.55, el 28% del de la regresión lin-eal.

63

Figura 9: Primer Nivel del Arbol de Regresión.

64

Figura 10: Arbol de Regresión Final.

Figura 11: Datos Usados en este Capítulo.

C A P I T U L O S I E T E

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

0.3197 son hombres y centroamericanos y siguen la especialización de Finanzas. Algebraicamente:

P(X1 = H ∩ X2 = C ∩ Y = F ) = 0.3197 Ustedes recordarán que este tipo de probabilidades se conocen como probabilida-

Tabla 1: Conteos de Estudiantes Universitarios.

Genero Nacionalidad Especializacion ConteoHombre CentroAmerica Finanzas 959Hombre CentroAmerica Mercadeo 172Hombre NorteAmerica Finanzas 271Hombre NorteAmerica Mercadeo 140Hombre SurAmerica Finanzas 337Hombre SurAmerica Mercadeo 57Mujer CentroAmerica Finanzas 253Mujer CentroAmerica Mercadeo 244Mujer NorteAmerica Finanzas 11Mujer NorteAmerica Mercadeo 314Mujer SurAmerica Finanzas 27Mujer SurAmerica Mercadeo 215

3000

66

Tabla 2: Probabilidades Conjuntas

Genero Nacionalidad Especializacion Probabilidades Conjuntas

Hombre CentroAmerica Finanzas 0.3197Hombre 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

dades conjuntas. Nos informan para cada combinación de atributos (género, nacion-alidad, especialización) cuál es la probabilidad de ocurrencia simultánea. No hay descripción más completa del comportamiento de estas variables y sus interrelacio-nes que esa tabla de probabilidades conjuntas.

A partir de esta tabla de probabilidades conjuntas podemos calcular otras prob-abilidades de interés (como probabilidades marginales y condicionales). Por ejem-plo, podríamos preguntar cuál es la probabilidad de que una persona tomada al azar de este grupo estudie Finanzas o Mercadeo. De los tres atributos, nos estamos concentrando en uno en particular--especialización. Estamos buscando su prob-abilidad marginal. ¿Cómo calculamos esa probabilidad? Hay 3000 estudiantes. De ellos 1858 estudian Finanzas (959+271+337+253+11+27) y 1142 estudian Merca-deo (172+140+57+244+314+215). Entonces la probabilidad marginal de estudiar Finanzas es 0.6193 y de estudiar Mercadeo es 0.3807. Algebraicamente: 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)

La probabilidad en el numerador ya la conocemos. Es la primera fila de la Tabla 2. Es igual a 0.3197. ¿Cómo obtenemos la probabilidad en el denominador? Esta es la probabilidad de que un estudiante sea hombre y centroamericano. Sumemos

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.

P(Y = F |X1 = H ∩ X2 = C) =0.31970.377

= 0.848

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, P(Y = M |X1 = H ∩ X2 = C) = 1 − 0.848 = 0.152

Ignoren por un segundo que la mayor parte de las variables independientes que hemos enfrentado en el curso han sido continuas. ¿Por qué no hemos hecho los cálculos de este capítulo antes si la tabla de probabilidad conjunta es la de-scripción más completa de la relación entre variables aleatorias? La respuesta es la llamada maldición de la dimensionalidad (en inglés, curse of dimensionality). Supongamos que todas las variables independientes son binomiales. Si tenemos 2 variables inde-pendientes binomiales y una variable dependiente binomial necesitamos una tabla de 8 filas. Ningún problema, especialmente si tenemos una muestra grande como 3,000 estudiantes. ¿Cuántas filas tiene la tabla si tenemos 9 variables independien-tes binomiales y la misma variable dependiente? 1,024. Supongamos que necesita-mos unas 100 observaciones por celda para estimar precisamente las probabili-dades conjuntas. Ahora necesitamos un mínimo absoluto de 102,400 observacio-

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: P(Y |X ) ∝ P(X |Y ) * P(Y )Traduzcamos a las expresiones que hemos estado usando en este capítulo: P(Y |X1 ∩ X2) ∝ P(X1 ∩ X2 |Y ) * P(Y ) 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: P(X1 ∩ X2) = P(X1) * P(X2)Es fácil adivinar en qué consiste independencia condicional. Independencia siempre ti-ene que ver con productos. X1 y X2 son independientes dado el valor de una tercera variable Y si: P(X1 ∩ X2 |Y ) = P(X1 |Y ) * P(X2 |Y )

Naive Bayes entonces nos da una forma de aproximar la fórmula de probabili-dad condicional que más nos interesa en este curso. P(Y |X1 ∩ X2) ∝ P(X1 |Y ) * P(X2 |Y ) * P(Y )

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 queP(Y = F |X1 = H ∩ X2 = C) ∝ P(X1 = H |Y = F ) * P(X2 = C |Y = F ) * P(Y = F )y su complemento: P(Y = M |X1 = H ∩ X2 = C) ∝ P(X1 = H |Y = M ) * P(X2 = C |Y = M ) * P(Y = M )

Calculemos cada uno de estos términos para ambas expresiones. Necesitamos 4

70

Tabla 4: Nacionalidad condicionada sobre Especialización

Especializacion Nacionalidad ConteoProbabilidad Condicional

Finanzas CentroAmerica 1,212 0.6523NorteAmerica 282 0.1518SurAmerica 364 0.1959

SubTotal 1,858Mercadeo CentroAmerica 416 0.3643

NorteAmerica 454 0.3975SurAmerica 272 0.2382

SubTotal 1,142Total 3,000

Tabla 3: Genero condicionado sobre Especializacion.

Especializacion Genero ConteoProbabilidad Condicional

Finanzas Hombre 1,567 0.8434

Mujer 291 0.1566

SubTotal 1,858Mercadeo Hombre 369 0.3231

Mujer 773 0.6769

SubTotal 1,142Total 3,000

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: P(Y = F |X1 = H ∩ X2 = C) ∝ P(X1 = H |Y = F ) * P(X2 = C |Y = F ) * P(Y = F )P(Y = F |X1 = H ∩ X2 = C) ∝ 0.8434 * 0.6523 * 0.6193 = 0.3403.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:

P(Y = F |X1 = H ∩ X2 = C) =0.3403

0.3403 + 0.0448= 0.8836

P(Y = M |X1 = H ∩ X2 = C) =0.0448

0.3403 + 0.0448= 0.1163.

Eso es todo. Esa es nuestra respuesta de acuerdo a Naive Bayes.

Voy a ser franco con ustedes. La primera vez que leí un capítulo sobre Naive Bayes me pregunté sarcásticamente: ¿Y esto es simplificar los cálculos? Parece que hicimos tantos o más cálculos que antes. Pero la respuesta es un rotundo ‘Si’. La simplificación es verdaderamente enorme.

Volvamos a hacernos la pregunta que hicimos antes. Si todas las variables inde-pendientes (y dependiente) fueran binomiales, cuántas probabilidades tengo que calcular para poder responder cualquier pregunta que me hagan? 2 probabili-dades marginales para la variable dependiente y 4 probabilidades condicionales por cada variable adicional. Si tenemos 3 variables (2 independientes y 1 dependi-ente) necesitamos 2+2*4 = 10. Antes necesitabamos 23 = 8. Esto no parece una mejora del todo. Paciencia.

Ahora probemos 10 variables (9 independientes y 1 dependiente). Ahora necesi-tamos 2+9*4 = 38. Antes 1024. Una más: Si tenemos 20 variables (19 independi-entes y 1 dependiente), ahora necesitamos 2+19*4 = 78. Antes necesitabamos más de un millón. Esa es una reducción colosal. Uno de los primeros éxitos de Naive Bayes fue en Text Mining, donde crea una variable binaria para cada palabra dif-erente que aparece en un texto. Hay miles de palabras y por lo tanto, miles de vari-

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.

73

Tabla 5: Comparacion de Probabilidades Condicionales Correctas vs. las que resultan de aplicar Naive Bayes.

Sexo NacionalidadProbabilidad Condicional

CorrectaNaive Bayes

Hombre CentroAmerica Finanzas 0.8479 0.884Mercadeo 0.1521 0.116

Hombre NorteAmerica Finanzas 0.6594 0.619Mercadeo 0.3406 0.381

Hombre SurAmerica Finanzas 0.8553 0.777Mercadeo 0.1447 0.223

Mujer CentroAmerica Finanzas 0.5091 0.403Mercadeo 0.4909 0.597

Mujer NorteAmerica Finanzas 0.0338 0.126Mercadeo 0.9662 0.874

Mujer SurAmerica Finanzas 0.1116 0.236Mercadeo 0.8884 0.764

T E R C E R A S E C C I O N

Apéndices

En esta sección hay recomendaciones sobre libros de texto adicional y sobre paquetes de software adicionales que pueden usarse para continuar estudiando Data Mining una vez que este curso termine.

74

C A P I T U L O O C H O

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

C A P I T U L O N U E V E

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