Está en la página 1de 107

Evaluación Semana 1

PUNTOS TOTALES DE 10
1.Pregunta 1
¿En cuál de estás aplicaciones de la vida real no serviría usar el Algoritmo A-Priori?

Ordenamiento de Productos

Buscar patrones entre productos

Analizar datos de compra de clientes

Clasificar en tipos de cliente


2.Pregunta 2
¿Qué es un itemset?

Mide que tan confiable es la suposición hecha por la regla

Frecuencia relativa en la que un itemset aparece dentro de los datos

Es un medida de clasificación

Una colección de uno ó más elementos


3.Pregunta 3
¿Cuál es el soporte de {Pan, leche, pañales}?
T Items
1 Pan, leche
2 Pan, leche, pañales
3 Diario, agua, pañales
T Items
4 Chocolate, agua, leche
5 Pan, chocolate, diario, leche, pañales
1 punto

2/5

1/6

4/5
4.Pregunta 4
¿Qué significa que el soporte del itemset {leche, pañales, cerveza} sea de 0.25?
1 punto

Que el 25% no contiene leche, pañales y cerveza

De las 4 transacciones que existen en la base de datos, solo 1 contiene leche, pañales y cerveza

25% de las transacciones mostraron que leche, pañales y cerveza se compraron juntos

25% de los consumidores que compraron leche y pañales, también compraron cerveza
5.Pregunta 5
¿Qué mide la confianza de una regla?
1 punto

Mide que tan confiable es la suposición hecha por la regla


Frecuencia relativa de una regla sobre el total de las transacciones

Confianza de la regla dividido por el soporte del consecuente

Frecuencia relativa en la que un itemset aparece dentro de los datos


6.Pregunta 6
¿Qué significa que la confianza del itemset {leche, pañales} -> {cerveza} sea de 0.75?
1 punto

75% de los consumidores que compraron leche y pañales, también compraron cerveza

De las 4 transacciones que existen en la base de datos, solo 3 contiene leche, pañales y cerveza

75% de los consumidores compraron leche, pañales y cerveza

75% de los consumidores que compraron cerveza, también compraron leche y pañales
7.Pregunta 7
¿Qué significa que el lift sea mayor a uno?
1 punto

Significa que el antecedente tuvo un efecto negativo en la ocurrencia del consecuente, haciendo que su probabilidad baje

Significa que la probabilidad del consecuente de la regla aumentó una vez que sabemos que el consumidor compró los items del antecedente.

Significa que el antecedente no aporta nada de información respecto a la compra u ocurrencia del consecuente.

Significa que el consecuente tuvo un efecto negativo en la ocurrencia del antecedente, haciendo que su probabilidad baje.
8.Pregunta 8
¿Cuántos itemsets posibles existen con n elementos?
1 punto

2^n-1

2*n

2^n

2*n - 1
9.Pregunta 9
¿Qué implica el principio de monotonicidad? Marque la/s alternativa/s correcta/s
1 punto

El itemset {arroz, mayonesa, pan} es frecuente, por lo que podemos asegurar que los itemsets {arroz}, {arroz, mayonesa}, {mayonesa, arroz} también lo
son.

Si un itemset es frecuente, entonces todos los subgrupos de éste también son frecuentes

Si un itemset no es frecuente, entonces todos los subgrupos de éste también son frecuentes

Si un itemset NO es frecuente, entonces cualquier conjunto que contenga a este itemset tampoco lo será
10.Pregunta 10
¿Qué es una regla de asociación?
1 punto

Expresión de la forma X <-> Y, donde X e Y son Itemsets

Expresión de la forma X -> Y, donde X e Y son productos.


Expresión de la forma X -> Y, donde X e Y son Itemsets.

Expresión de la forma X = Y, donde X e Y son Itemsets

SEMANA 2
hablaremos sobre la clasificación automática.
Play video starting at 13 seconds and follow transcript0:13
Los principales objetivos de este video son entender para qué sirve la 
clasificación automática y cuál es el tipo de aprendizaje relacionado. 
Las técnicas de clasificación automática buscan encontrar un modelo 
capaz de identificar automáticamente la clase a la cual pertenece un objeto dado.
Play video starting at 30 seconds and follow transcript0:30
Por ejemplo, diseñar un sistema capaz de diferenciar entre un huemul o un reno 
a partir de una imagen.
Play video starting at 40 seconds and follow transcript0:40
Otro ejemplo es un sistema capaz de identificar el dígito que aparece en 
una foto. 
Estos sistemas se pueden usar en la identificación automática 
de montos de dinero en documentos bancarios.
Play video starting at 53 seconds and follow transcript0:53
También un problema de clasificación automática sería decidir si un paciente 
tiene diabetes o no a partir de los resultados de sus exámenes médicos.
Play video starting at 1 minute 5 seconds and follow transcript1:05
Un ejemplo fascinante de clasificación es también el decidir 
si en la imagen de una estrella aparece un planeta o no, algo muy utilizado en 
la actualidad para detectar planetas potencialmente habitables por humanos.
Play video starting at 1 minute 21 seconds and follow transcript1:21
También en la industria se usan sistemas de clasificación automática 
para evaluar la calidad de un producto. 
Por ejemplo, 
un sistema capaz de clasificar una fruta como en buen o mal estado de tal forma de 
eliminar las frutas malas antes de usarlas para la producción de pulpas congeladas.
Play video starting at 1 minute 41 seconds and follow transcript1:41
El esquema general para resolver un problema de clasificación automática 
debe disponer principalmente de dos cosas. 
Un conjunto de entrenamiento, es decir, 
un conjunto con datos previamente clasificados y un modelo de clasificación.
Play video starting at 1 minute 58 seconds and follow transcript1:58
Una vez que tenemos nuestros datos de entrenamiento 
y el modelo de clasificación, se procede a la etapa de ajuste o entrenamiento 
del clasificador de tal forma de terminar 
en un modelo you entrenado listo para ser utilizado en la práctica.
Play video starting at 2 minutes 16 seconds and follow transcript2:16
Cuando un modelo se ajusta a partir de un set de datos de entrenamiento, 
decimos que estamos frente a un proceso de aprendizaje supervisado.
Play video starting at 2 minutes 28 seconds and follow transcript2:28
Aquí tenemos también un ejemplo de aprendizaje supervisado. 
Supongamos que nos interesa un modelo de clasificación 
capaz de discernir entre perros y gatos a partir de sus imágenes. 
Lo primero entonces es que debemos disponer de un conjunto de entrenamiento. 
Es decir, de varias imágenes identificadas de perros y gatos.
Play video starting at 2 minutes 51 seconds and follow transcript2:51
Además del conjunto de entrenamiento, necesitamos un algoritmo de entrenamiento. 
Es decir, un proceso generalmente iterativo que va analizando los datos 
del conjunto de entrenamiento hasta aprender cómo separar 
entre las distintas clases y luego poder clasificar datos en el futuro.
Play video starting at 3 minutes 10 seconds and follow transcript3:10
Una vez que termina el proceso de entrenamiento, 
nuestro modelo entrenado you es capaz de clasificar datos nuevos. 
Por ejemplo, si llega la imagen del perro en la figura,
Play video starting at 3 minutes 24 seconds and follow transcript3:24
nuestro modelo entrenado será capaz de clasificarlo como un perro.
Play video starting at 3 minutes 30 seconds and follow transcript3:30
En este video aprendimos los conceptos de clasificación automática 
y aprendizaje supervisado. 
Vimos que es necesario disponer de un conjunto de entrenamiento, 
es decir, un set de datos con casos previamente etiquetados 
y un algoritmo capaz de iterar sobre esos datos y generar un modelo entrenado.
Play video starting at 3 minutes 52 seconds and follow transcript3:52
Me imagino que tienen dudas respecto a cómo son el realidad los algoritmos de 
entrenamiento y los modelos de clasificación. 
No se preocupen, you que ahora estamos en condiciones de empezar 
a revisar algunas de estas técnicas en los próximos videos. 
[AUDIO_EN_BLANCO]

REPRESENATCION DE OBJETOS
[MÚSICA] Bienvenidos al nuevo video de nuestro curso de Minería de datos. 
En este video hablaremos sobre la forma en que representaremos objetos del mundo real 
en nuestras bases de datos. 
El objetivo principal de este video es entender cómo representamos objetos en el 
computador para permitir después 
la aplicación de algoritmos de clasificación automática.
Play video starting at 27 seconds and follow transcript0:27
En general, cuando queremos desarrollar algoritmos automáticos que analizan datos, 
tenemos que ver cómo ingresar esos datos en un computador.
Play video starting at 35 seconds and follow transcript0:35
Es necesarios entonces definir una forma estructurada para representar objetos 
del mundo real y así ser capaces de ingresarlos en un algoritmo computacional. 
Por ejemplo, ¿cómo puede un computador entender una imagen de un animal 
o resultados de exámenes médicos o un cliente que realiza compras?
Play video starting at 57 seconds and follow transcript0:57
Supongamos que queremos construir una base de datos de los clientes que visitan 
nuestras tiendas. 
Una forma posible de presentar a los clientes en el computador,
Play video starting at 1 minute 8 seconds and follow transcript1:08
es un vector de valores que describen al cliente con variables propias y coherentes 
del contexto. 
Por ejemplo, total de la compra, profesión, ubicación de la tienda, 
género, etcétera.
Play video starting at 1 minute 21 seconds and follow transcript1:21
Además de la representación a través de un vector 
en contextos en que nos interesa realizar clasificación automática, también 
necesitaremos conocer la clase de nuestros clientes en el historial de compras. 
Típicamente la clase se agrega como una nueva columna, 
indicando el valor de la clase a la cual nuestro objeto pertenece. 
En este ejemplo, nuestro cliente pertenece a la clase preferencial. 
Notar que las clases posibles deben estar previamente definidas.
Play video starting at 1 minute 50 seconds and follow transcript1:50
El vector que representa entonces a nuestros datos, 
tendrá típicamente un identificador que corresponde a un valor 
único en la base de datos y en general no es parte del análisis propiamente tal.
Play video starting at 2 minutes 1 second and follow transcript2:01
Una lista de atributos o también llamados variables, descriptores o features. 
Y finalmente un valor que corresponde a la clase a la cual pertenece el objeto.
Play video starting at 2 minutes 12 seconds and follow transcript2:12
Notar que pueden haber casos de nuestra base de datos donde la clase del objeto no 
es conocida.
Play video starting at 2 minutes 18 seconds and follow transcript2:18
Justamente para esos casos es que necesitaremos de la ayuda de algoritmos 
de clasificación automática para predecir el valor de la clase de esos objetos.
Play video starting at 2 minutes 31 seconds and follow transcript2:31
En general, tenemos muchos objetos en nuestros datos. 
Típicamente los objetos corresponden a las filas de la base de datos. 
Por ejemplo, en el caso de los clientes, si tenemos 1200 
clientes significa que tendríamos 1200 filas en nuestra base de datos.
Play video starting at 2 minutes 49 seconds and follow transcript2:49
Otro ejemplo de representación de objetos son las imágenes. 
Lo que típicamente se hace es representar la imagen 
como un vector que contiene los pixeles de la imagen. 
Existen también formas de calcular variables sobre las imágenes. 
Por ejemplo histogramas de color o características de forma.
Play video starting at 3 minutes 11 seconds and follow transcript3:11
Supongamos que queremos clasificar un dígito contenido en una imagen,
Play video starting at 3 minutes 15 seconds and follow transcript3:15
podemos representar la imagen como un vector de pixeles, de tal forma que el 
clasificador sea capaz de reconocer a qué número corresponde la imagen.
Play video starting at 3 minutes 26 seconds and follow transcript3:26
Recordemos el ejemplo de clasificación mencionado en el video anterior, 
sobre exámenes médicos de pacientes que pueden o no tener diabetes.
Play video starting at 3 minutes 38 seconds and follow transcript3:38
Una forma natural de representar los exámenes en el computador es a través de 
un vector que contiene todos los descriptores del resultado del examen,
Play video starting at 3 minutes 47 seconds and follow transcript3:47
además de las características del paciente.
Play video starting at 3 minutes 50 seconds and follow transcript3:50
Una vez que podemos confirmar si el paciente tiene o no diabetes, 
tendremos una columna al final de cada fila indicando la clase del paciente. 
En este caso, diabetes positiva o negativa.
Play video starting at 4 minutes 3 seconds and follow transcript4:03
En este video, vimos cómo representar distintos tipos de objetos 
dentro de una base de datos, de tal forma de poder usar 
esta representación como input para los algoritmos de clasificación automática. 
[AUDIO_ EN_ BLANCO]

VECINOS CEERCANOS

[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de Minería de Datos. 


En este video veremos el primer algoritmo de clasificación 
llamado K vecinos cercanos.
Play video starting at 15 seconds and follow transcript0:15
La idea principal en la que se basa éste clasificador 
es en usar los datos más parecidos para clasificar, por ejemplo, 
¿cuál sería la clase del objeto que aparece en amarillo usando esta idea? 
Notar que como estamos hablando de clasificación 
asumimos que tenemos un conjunto de entrenamiento con datos 
previamente etiquetados en este caso los datos rojos y verdes. 
También notar que en los datos en este ejemplo 
están representados por puntos que viven en dos variables V1 y V2.
Play video starting at 48 seconds and follow transcript0:48
Si usamos por ejemplo el clasificador de un vecino cercanos significa que tenemos 
que encontrar el dato más parecido a nuestro dato en cuestión 
y usar su clase para predecir la clase del dato que vemos en amarillo.
Play video starting at 1 minute 5 seconds and follow transcript1:05
Considerar que para hablar del dato más parecido necesitamos definir previamente 
una noción de distancia entre datos asumiendo qu en los datos más parecidos 
son los que están más cerca en el espacio de las variables V1 y V2. 
Típicamente para medir la 
distancias usamos una métrica conocida como por ejemplo la distancia euclideana.
Play video starting at 1 minute 28 seconds and follow transcript1:28
Como ustedes you saben, esa distancia simplemente corresponde a la raíz de 
la suma de las diferencias al cuadrado. 
Estas diferencias se van calculando para cada una de las variables 
que se están usando para representar los datos, notar que esta métrica de distancia 
funciona también para un número mayor de variables.
Play video starting at 1 minute 48 seconds and follow transcript1:48
Volviendo a nuestro ejemplo entonces, visualmente notamos las tres 
distancias más pequeñas, vemos que la distancia menor corresponde a V1,
Play video starting at 1 minute 59 seconds and follow transcript1:59
por lo tanto ese dato es el más parecido, es decir, el vecino más cercano.
Play video starting at 2 minutes 5 seconds and follow transcript2:05
Entonces usando la técnica de un vecino cercano la clasificación de nuestro dato 
sería verde. 
¿Cómo sería la técnica entonces si usamos K vecinos cercanos? 
De forma análoga el clasificador de K vecinos cercanos encuentra los 
datos más parecidos al dato en cuestión y luego genera la clasificación 
usando la clase que más se repite entre los K vecinos. 
Éste modelo asume que el valor de K está previamente definido.
Play video starting at 2 minutes 37 seconds and follow transcript2:37
Por ejemplo si el valor de K es tres, 
tenemos que encontrar los tres datos más similares al dato en cuestión. 
En este caso están marcados por un círculo verde.
Play video starting at 2 minutes 48 seconds and follow transcript2:48
Tenemos entonces que hay unanimidad para la clasificación 
you que los tres vecinos más cercanos pertenecen a la clase verde, 
por lo tanto esa será la predicción para el dato de clase desconocida.
Play video starting at 3 minutes 2 seconds and follow transcript3:02
Aquí tenemos otro ejemplo, supongamos que el valor de K es 6. 
¿Cuál será la clasificación para el dato amarillo?
Play video starting at 3 minutes 11 seconds and follow transcript3:11
Vemos marcados con un círculo verde a los seis vecinos más cercanos. 
En este caso nuestro clasificador tiene cuatro votos a favor de la clase roja y 
dos votos a favor de la clase verde, por 
lo tanto la clasificación sería clase roja.
Play video starting at 3 minutes 32 seconds and follow transcript3:32
Aquí vemos otro ejemplo, en este caso el dato a clasificar es más complicado you 
que se encuentra en una zona donde no es claro a que clase pertenecen los vecinos.
Play video starting at 3 minutes 45 seconds and follow transcript3:45
Si por ejemplo el valor de K es 2, 
¿cuál sería la predicción para la clase del dato amarillo?
Play video starting at 3 minutes 53 seconds and follow transcript3:53
Vemos marcado con un círculo verde los dos vecinos más cercanos al dato amarillo. 
El problema es que cada uno pertenece a una clase distinta, 
por lo tanto no hay claridad sobre la clasificación que deberíamos proponer.
Play video starting at 4 minutes 6 seconds and follow transcript4:06
Más adelante veremos algunas modificaciones a esta técnica 
que podrían ayudarnos a resolver este tipo de casos.
Play video starting at 4 minutes 15 seconds and follow transcript4:15
En resumen, vimos hasta ahora 
que el algoritmo de vecinos cercanos es un algoritmo de clasificación, 
está basado en la idea de usar los datos más similares para clasificar. 
Es muy importante notar que requiere de la definición de una métrica de distancia 
y del valor de K.
Play video starting at 4 minutes 36 seconds and follow transcript4:36
Una consideración importante es que esta técnica sólo utiliza tiempo computacional 
a la hora de realizar la clasificación you que es ahí donde debe encontrar los 
vecinos y calcular la cantidad de votos de cada clase, como sólo trabaja cuando 
le preguntan este algoritmo es catalogado como un logaritmo de aprendizaje flojo. 
Veremos más adelante otros algoritmos que si gastan tiempo computacional 
antes de que se les pida realizar alguna clasificación.

VARIABLE VECINOS CERCANOS 1


[MÚSICA] Bienvenidos 
a un nuevo video de nuestro curso Minería de datos. 
En este video veremos algunas variantes importantes en el clasificador de vecinos 
cercanos.
Play video starting at 17 seconds and follow transcript0:17
La principal variante al método de vecinos cercanos que 
vamos a explorar en este video es el uso de distintas medidas de distancia.
Play video starting at 25 seconds and follow transcript0:25
Lo que nos motiva esto es que dependiendo del tipo de variables 
que tenemos para describir los datos tendremos que cambiar nuestra métrica.
Play video starting at 37 seconds and follow transcript0:37
Como vimos anteriormente, 
los datos son en general representados por un vector de descriptores. 
En general, típicamente los valores que pueden tomar 
las distintas columnas en este vector son de naturaleza muy distinta. 
Por ejemplo, en el caso de una base de datos de clientes la variable profesión 
toma valores muy distintos a los que toma la variable monto de gasto mensual. 
De hecho, una es categórica y la otra es numérica. 
Por ejemplo, si representamos a nuestros clientes con las variables profesión, 
rango de sueldo, monto de gasto mensual y ubicación de la tienda, ¿cómo 
calculamos la distancia entre los clientes Juan y María considerando esas variables?
Play video starting at 1 minute 20 seconds and follow transcript1:20
Lo primero es notar que siempre en el cálculo de la distancia 
vamos a ir comparando las variables correspondientes, 
es decir nunca calcularemos diferencias entre variables distintas. 
En este ejemplo, nuestra función de distancia debería ir acumulando 
de alguna forma las diferencias entre cada una de las variables en cuestión.
Play video starting at 1 minute 42 seconds and follow transcript1:42
Veamos primero cómo comparar dos objetos usando la variable ubicación. 
En este caso esa variable corresponde a un par de números continuos. 
Latitud y longitud.
Play video starting at 1 minute 53 seconds and follow transcript1:53
Lo más natural es usar la distancia euclidiana o de Manhattan 
para calcular la distancia entre dos pares numéricos.
Play video starting at 2 minutes 2 seconds and follow transcript2:02
Usando la distancia euclidiana, tendremos que calcular la raíz cuadrada de la suma 
de las diferencias de cada coordenada de nuestro par de números al cuadrado. 
Así en este ejemplo obtenemos aproximadamente una distancia de 88.079.
Play video starting at 2 minutes 19 seconds and follow transcript2:19
Notar que si quisiéramos medir la distancia entre dos 
datos que están representados en D dimensiones simplemente es 
la misma fórmula extendiendo la resta para cada una de las dimensiones de los datos.
Play video starting at 2 minutes 33 seconds and follow transcript2:33
También podemos calcular la distancia usando la ubicación 
a través de la distancia de Manhattan, que simplemente corresponde a la suma 
de los valores absolutos de las diferencias de cada coordenada.
Play video starting at 2 minutes 48 seconds and follow transcript2:48
Usando entonces Manhattan, 
tendríamos que la distancia entre ambos clientes sería de aproximadamente 124.07.
Play video starting at 2 minutes 58 seconds and follow transcript2:58
Pasemos ahora a otro tipo de variables. 
Siguiendo por el ejemplo de los clientes, 
la variable género puede tomar dos valores posibles, femenino y masculimo. 
Las variables que pueden tomar dos valores son conocidas como variables binarias, 
y generalmente las transformamos para que tomen los valores 0 o 1. 
En este caso en particular, podríamos asignar el valor, 
al valor femenino el 1 y al valor masculino el 0. 
La distancia de Hamming es la más común para las variables binarias. 
Es muy sencilla, simplemente compara los números binarios retornando 1 
si es que son distintos o 0 si es que son iguales.
Play video starting at 3 minutes 41 seconds and follow transcript3:41
En nuestro ejemplo de clientes, si tenemos a un hombre y a una mujer, 
la distancia entre ellos considerando la variable género sería igual a 1. 
you que la variable género del hombre vale 0 y la variable género de la mujer vale 1. 
De forma similar, si tenemos a dos mujeres, 
la distancia entre ellas considerando la variable género 
sería 0 you que ambas tienen un valor 1 en esa variable.
Play video starting at 4 minutes 12 seconds and follow transcript4:12
Si tuviéramos varias variables binarias, tendríamos que agrupar todas las variables 
y calcular la distancia de Hamming entre los conjuntos de variables. 
Esta extensión es bastante simple, lo único que debemos hacer es sumar el número 
de veces en que las variables binarias son distintas. 
Por ejemplo, en la figura marcamos con rojo todos los casos en que las variables 
binarias son distintas. 
Así la distancia de Hamming entre los vectores que vemos es igual a 3.
Play video starting at 4 minutes 39 seconds and follow transcript4:39
Ahora consideremos que las variables binarias son género 
si es trabajador independiente o no y si tiene hijos o no. 
En la diapositiva vemos dos clientes distintos, 
una mujer que no es trabajadora independiente y que sí tiene hijos 
y un hombre que sí es trabajador independiente y que no tiene hijos. 
Las codificaciones para ambos clientes serían 101 y 010 respectivamente.
Play video starting at 5 minutes 6 seconds and follow transcript5:06
La distancia de Hamming entre ambos clientes sería igual a 3 you que son 
distintas las tres variables binarias.
Play video starting at 5 minutes 16 seconds and follow transcript5:16
Algo que se usa bastante en la práctica es dividir la cantidad de casos en que las 
variables binarias son distintas por el total de variables binarias 
de tal forma de mantener números pequeños en el resultado de la distancia. 
En el mismo ejemplo, en vez de usar 3 como distancia entre los vectores binarios, 
usamos 3 dividido por 7.
Play video starting at 5 minutes 37 seconds and follow transcript5:37
La razón por la cual queremos mantener números pequeños en las distancias 
es porque si un grupo de variables toma valores de distancia muy grandes 
estas gobernarían la distancia total a la hora de juntar las distancias entre los 
distintos tipos de variables.
Play video starting at 5 minutes 52 seconds and follow transcript5:52
Algo que también se usa para visualizar la distancia entre dos vectores de variables 
binarias es una matriz que nos muestra el número de veces que ha ocurrido cada una 
de las combinaciones posibles de valores binarios. 
Vemos en colores las posibles combinaciones en la matriz,
Play video starting at 6 minutes 9 seconds and follow transcript6:09
se cuenta el número de veces que ocurre cada combinación. 
Por ejemplo, la combinación 10 ocurre dos veces, 
las veo marcadas con rojo en los vectores binarios.
Play video starting at 6 minutes 21 seconds and follow transcript6:21
Otro tipo interesante de variables son las variables categóricas. 
Estas variables en general pueden tomar varios valores o categorías, 
además estas categorías no tienen un orden definido entre sí, 
por ejemplo la variable profesión.
Play video starting at 6 minutes 40 seconds and follow transcript6:40
Otro ejemplo puede ser la variable deporte que practica, los valores posibles que 
tomaría esta variable son fútbol, tenis, basquetbol, natación, etcétera.
Play video starting at 6 minutes 50 seconds and follow transcript6:50
Veamos un ejemplo de cómo calcular la distancia entre dos objetos 
usando un conjunto de variables categóricas. 
En este caso nuestros objetos son Pedro y Sofía descritos a través de tres 
variables categóricas, profesión, ciudad y deporte que practican.
Play video starting at 7 minutes 6 seconds and follow transcript7:06
Para obtener la distancia simplemente contamos el número de casos en que las 
variables son distintas dividido por el total de las variables categóricas.
Play video starting at 7 minutes 16 seconds and follow transcript7:16
Aquí son distintas en los casos de las variables profesión y ciudad. 
La distancia entre Pedro y Sofía sería entonces 2 dividido por 3. 
Una consideración importante es que debemos preocuparnos 
de la cantidad de valores posibles que puede tomar una variable categórica,
Play video starting at 7 minutes 38 seconds and follow transcript7:38
you que mientras más valores la variable puede tomar serán menos probables 
que distintos objetos tengan el mismo valor en esa variable. 
Por ejemplo, la variable profesión 
puede tener muchos más valores posibles que la variable estado civil.
Play video starting at 7 minutes 53 seconds and follow transcript7:53
Eso deberíamos considerarlo de alguna forma.
Play video starting at 7 minutes 58 seconds and follow transcript7:58
Una solución posible es usar pesos en la distancia, 
pesos altos asociados a las variables con menos valores 
posibles y pesos bajos asociados a las variables con más valores posibles. 
De tal forma de que cada vez que dos objetos sean distintos, 
en una variable categórica que toma muchos valores, 
esto no afecte tanto en el cálculo de la distancia. 
Por ejemplo, si tenemos 100 posibles profesiones y 4 posibles estados civiles, 
en vez de sumar 1 cada vez que los objetos sean distintos en una variable, 
sumarmos un cuarto y 1 dividido por 100 respectivamente. 
Otro tipo de variable que aparecen mucho en la práctica 
son las variables ordinales. 
Estas variables son como las variables categóricas pero la principal diferencia 
es que los valores posibles que pueden tomar tienen un orden. 
Por ejemplo, el rango de sueldo. 
Vemos en este caso que existen 5 posibles rango de sueldo. 
Pero naturalmente el rango menor de 200 está por debajo del rango entre 200 y 500. 
La forma más común de tratar estas variables 
es mapeando desde el valor mínimo al máximo al intervalo 0 1. 
De tal forma de generar números asociados a cada rango posible. 
Así el rango menor que 200 correspondería al 0, 
luego el rango entre 200 y 500 correspondería a 0,25 y así sucesivamente. 
Luego de esta transformación, 
simplemente podemos usar distancia euclidiana para estas variables.
Play video starting at 9 minutes 35 seconds and follow transcript9:35
Veamos un ejemplo concreto.
Play video starting at 9 minutes 37 seconds and follow transcript9:37
Supongamos que queremos calcular la distancia entre Juan y María 
según las variables posición en la empresa y rango de sueldo. 
Los valores mapeados al rango 0 1 están entre paréntesis.
Play video starting at 9 minutes 52 seconds and follow transcript9:52
Primero mapeamos cada uno de los valores al valor que corresponde en el rango 0 1. 
Ahora simplemente usamos distancia euclidiana 
para obtener la distancia final entre Juan y María. 
En este caso nos da 1.03. 
En este video aprendimos a calcular distancias para variables numéricas, 
binarias, categóricas y ordinales. 
Dado que en la realidad nos topamos con todas estas variables a la hora de hacer 
clasificación con vecinos cercanos. 
Es necesario definir con mucho cuidado nuestra medida de distancia. 
[AUDIO_EN_BLANCO]
VECINOS CERCANOS II

[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de minería de datos. 


Hoy veremos nuevas variantes al algoritmo de vecinos cercanos. 
Las principales variantes que veremos en este video tienen que ver con considerar 
la distancia hacia los vecinos a la hora de calcular la clase más votada, 
y también con amplificar o disminuir ciertas variables al momento de calcular 
las distancias.
Play video starting at 30 seconds and follow transcript0:30
La primera idea es notar que amplificar o disminuir ciertas distancias puede ser 
de mucha utilidad, principalmente para dar más énfasis a elementos más cercanos y 
menos a elementos más lejanos, al momento de decidir cuál es la clase más votada. 
Por ejemplo, en la figura vemos que tenemos 
dos vecinos de la clase roja y dos vecinos de la clase verde. 
En este caso, el algoritmo tradicional respondería que hay un empate entre ambas 
clases, en el caso en que K sea igual a 4. 
Podemos ver que una respuesta más correcta, en este caso sería la 
clase roja, you que los vecinos rojos son mucho más cercanos que los vecinos verdes.
Play video starting at 1 minute 15 seconds and follow transcript1:15
Veamos ahora un caso más extremo. 
Consideremos la situación de la figura. 
Si el valor de K es 7, los vecinos marcados serían los más cercanos. 
Si usamos el algoritmo tradicional, la clasificación sería clase verde. 
Pero, nuevamente, 
vemos que los vecinos verdes son bastante más lejanos que los vecinos rojos.
Play video starting at 1 minute 37 seconds and follow transcript1:37
De la misma forma, quizá una clasificación más correcta sería clase roja, 
you que a pesar de que sean menos vecinos, están mucho más cerca. 
¿Cómo logramos entonces modificar el 
algoritmo tradicional de vecinos cercanos de tal forma de que automáticamente 
se incorpore la información de la distancia de los vecinos?
Play video starting at 1 minute 59 seconds and follow transcript1:59
Este efecto puede ser logrado usando pesos asociados a las distancias 
a la hora de calcular la clase más votada entre los vecinos. 
En general, estos pesos son inversamente proporcionales a la distancia, 
de tal forma de que si la distancia es más grande, el peso es más pequeño. 
Dos de los pesos más comunes se muestran en la diapositiva.
Play video starting at 2 minutes 20 seconds and follow transcript2:20
La primera opción es, simplemente, multiplicar cada voto por uno dividido por 
la distancia entre el vecino y el punto que se quiere clasificar.
Play video starting at 2 minutes 29 seconds and follow transcript2:29
La segunda es usar una función con un decaimiento exponencial, 
de tal forma de que la penalización por distancia sea mayor 
mientras más cercano es el vecino, y menor mientras más lejano es el vecino.
Play video starting at 2 minutes 42 seconds and follow transcript2:42
Para realizar la clasificación final entonces, cada uno de los vecinos 
entrega su voto respecto a la clase, pero cada voto va ponderado por el peso W, 
que será menor si el vecino se encuentra más lejos del dato en cuestión.
Play video starting at 2 minutes 59 seconds and follow transcript2:59
Otra variante al algoritmo de vecinos cercanos es considerar la importancia de 
las variables o dimensiones a la hora de calcular las distancias. 
Por ejemplo, 
supongamos que tenemos datos clasificados distribuidos como en la figura. 
Vamos a asumir en 
este caso que la variable V2 es mucho más relevante que la variable V1.
Play video starting at 3 minutes 23 seconds and follow transcript3:23
Vemos que los tres vecinos cercanos verdes proyectados solo en la variable V1 
están más lejos que los vecinos cercanos rojos proyectados también en V1.
Play video starting at 3 minutes 34 seconds and follow transcript3:34
Por otra parte, vemos que los vecinos verdes están muchos más cerca al 
dato en cuestión que los vecinos rojos, si proyectamos los datos en la variable V2. 
Si la variable V2 es mucho más 
relevante que la variable V1, deberíamos clasificar el dato en cuestión como verde, 
you que en esa variable los vecinos verdes están más cerca.
Play video starting at 3 minutes 59 seconds and follow transcript3:59
Los grados de importancia deberán ser determinados 
previamente usando conocimientos sobre selección de variables.
Play video starting at 4 minutes 7 seconds and follow transcript4:07
Luego, esos grados de importancia se deben usar como pesos 
para cada variable dentro del cálculo de la distancia.
Play video starting at 4 minutes 16 seconds and follow transcript4:16
Así por ejemplo, 
si tenemos determinados los pesos que indican la importancia de cada variable, 
vemos que simplemente debemos multiplicar cada una de las diferencias 
que aparecen dentro de la distancia Euclidiana por los pesos respectivos.
Play video starting at 4 minutes 33 seconds and follow transcript4:33
En resumen, 
en este video vimos cómo modificar el algoritmo de vecinos cercanos, de tal 
forma de considerar la distancia de cada vecino dentro de la decisión, y también 
la importancia de las distintas variables dentro del cálculo de las distancias. 
[AUDIO_EN_BLANCO]
Ejempos vecinos cercanos
[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de minería de datos. 
En este video veremos un par de ejemplos aplicados del algoritmo de vecinos 
cercanos.
Play video starting at 15 seconds and follow transcript0:15
La motivación principal de este video es utilizar la mayoría de los conceptos 
vistos sobre la técnica de los vecinos cercanos 
mostrando cómo sería una ejecución completa del algoritmo.
Play video starting at 26 seconds and follow transcript0:26
Supongamos que tenemos la siguiente tabla de datos de entrenamiento 
con tres casos de la clase A y tres casos de la clase B.
Play video starting at 35 seconds and follow transcript0:35
Llega entonces un nuevo dato P7 para el cual no conocemos su clase y queremos 
realizar una clasificación usando la técnica de vecinos cercanos.
Play video starting at 48 seconds and follow transcript0:48
En esta diapositiva mostramos la distribución de los puntos de 
entrenamiento en forma visual. 
El eje horizontal corresponde a la variable X 
y el eje vertical a la variable Y.
Play video starting at 1 minute 0 seconds and follow transcript1:00
Para este ejemplo usaremos la distancia euclidiana 
you que todos los datos son numéricos.
Play video starting at 1 minute 6 seconds and follow transcript1:06
Lo primero que debemos hacer es calcular la distancia desde el dato que queremos 
clasificar hacia todos los otros puntos de nuestra base de datos de entrenamiento.
Play video starting at 1 minute 18 seconds and follow transcript1:18
En esta diapositiva mostramos a modo de ejemplo cómo calcular la distancia 
euclidiana entre P1 y P7 y entre P2 y P7. 
Luego de calcular la distancia entre P7 y todos los otros puntos, 
de la misma forma en que se mostró en la diapositiva anterior con P1 y P2 el
Play video starting at 1 minute 38 seconds and follow transcript1:38
resultado de todas las distancias se ve en esta diapositiva.
Play video starting at 1 minute 44 seconds and follow transcript1:44
Podemos usar una matriz como la que sale en la figura 
para representar en una fila la distancia entre el punto P7 
y todos los otros puntos desplegados hacia la derecha en columnas.
Play video starting at 1 minute 56 seconds and follow transcript1:56
Supongamos entonces que vamos a usar un clasificador de un vecino cercano, en este 
caso debemos detectar primero la distancia más pequeña dentro de nuestra matriz de 
distancias para así conocer al vecino más cercano y luego verificar su clase. 
En este caso, el vecino cercano pertenece a la clase A Finalmente 
entonces la clasificación que deberíamos predecir para el punto P7 es 
clase A you que esa es la clase del vecino más cercano. 
¿Qué ocurre si usamos un clasificador de 3 vecinos cercanos? 
Vemos entonces en la pantalla las tres distancias más pequeñas 
por lo tanto tenemos identificados a los tres vecinos más cercanos.
Play video starting at 2 minutes 41 seconds and follow transcript2:41
Además visualizamos sus clases, los dos primeros vecinos 
pertenecen a la clase A y el tercer vecino pertenece a la clase B.
Play video starting at 2 minutes 51 seconds and follow transcript2:51
Finalmente entonces la clasificación para el dato P7 usando tres 
vecinos cercanos es clase A, you que de los tres vecinos dos pertenecen 
a la clase A y solo uno pertenece a la clase B. 
Veamos ahora otro ejemplo. 
Supongamos que tenemos una base de datos de clientes 
como la que aparece en la tabla.
Play video starting at 3 minutes 16 seconds and follow transcript3:16
La primera variable es numérica y corresponde a la antiguedad en años 
del cliente correspondiente a la fila que estamos considerando. 
Notar que el nombre no lo consideramos como una variable sino 
más como un identificador de cada cliente.
Play video starting at 3 minutes 33 seconds and follow transcript3:33
La segunda variable es ordinal, 
y corresponde al rango de sueldo que gana el cliente en cuestión.
Play video starting at 3 minutes 41 seconds and follow transcript3:41
La tercera y cuarta variable son binarias, la tercera dice si nuestro cliente 
tiene hijos o no y la cuarta corresponde al género.
Play video starting at 3 minutes 52 seconds and follow transcript3:52
Las variables quinta y sexta son categóricas, 
corresponden al estado civil y al país en el cual está ubicada la tienda 
a la cual el cliente está afiliado respectivamente.
Play video starting at 4 minutes 5 seconds and follow transcript4:05
Finalmente la última columna corresponde a la clase 
a la cual pertenece cada cliente de nuestra base de datos de entrenamiento. 
¿Qué ocurre entonces si aparece un cliente para el cual no conocemos su clase?
Play video starting at 4 minutes 21 seconds and follow transcript4:21
Supongamos que utilizaremos la técnica de vecinos cercanos 
para realizar esta clasificación.
Play video starting at 4 minutes 29 seconds and follow transcript4:29
Primero notamos que debemos transformar las variables binarias a 0 y 1.
Play video starting at 4 minutes 36 seconds and follow transcript4:36
Luego recordemos que debemos transformar la variable ordinal, en este caso mapeamos 
la variable rango de sueldo al rango 0 1 con los valores que aparecen en pantalla, 
0 para el rango menor que 200 05 para el rango 
250 750 y 1 para el rango mayor que 750.
Play video starting at 4 minutes 57 seconds and follow transcript4:57
Vemos entonces que la variable rango sueldo queda transformada con los valores 
que aparecen marcados en la tabla.
Play video starting at 5 minutes 6 seconds and follow transcript5:06
Si bien la variable antiguedad es numérica, you que corresponde al número de 
años que nuestro cliente lleva en la empresa, es necesario normalizarla. 
Esta normalización consta de llevar todos los valores de las variables al rango 0 1. 
Supongamos por ejemplo que estamos calculando la distancia euclidiana 
y notamos que el rango en que se mueven las distancias según la variable 1 va 
de 0 a 1000, mientras que el rango en que se mueve la variable 2 es de 0 a 1. 
Esto generaría un problema you que la distancia total se vería totalmente 
gobernada por la variable 1. 
Por eso es que debemos llevar el rango 0 1000 al rango 0 1 también. 
Para normalizar un rango A1 B1 a un rango nuevo A2 B2 
simplemente nuestros datos deben estar ubicados de tal forma de 
mantener proporcionalmente su posición relativa en el rango. 
Por ejemplo si queremos llevar el valor X1 al rango nuevo llamado X2 
simplemente aplicamos la fórmula que se ve en pantalla. 
El segundo término de la ecuación se preocupa de rescatar el tamaño 
proporcional del segmento A2 X2 y el primer término se 
preocupa de que este segmento esté ubicado partiendo desde A2.
Play video starting at 6 minutes 23 seconds and follow transcript6:23
En nuestro ejemplo entonces sobre la variable antiguedad si suponemos que la 
empresa lleva 5 años funcionando, tenemos que la variable va desde 0 hasta 5 años, 
si la queremos llevar al rango 0 1, simplemente aplicamos la fórmula vista en 
la diapositiva anterior para cada uno de los valores actuales de la variable.
Play video starting at 6 minutes 45 seconds and follow transcript6:45
Vemos entonces en la imagen los valores de la variable antiguedad normalizados en el 
rango 0 1. 
Ahora solo nos queda identificar el número de valores posibles 
que toman nuestras variables categóricas.
Play video starting at 7 minutes 0 seconds and follow transcript7:00
Consideraremos entonces que la variable estado civil tiene cuatro valores posibles 
y que la variable lugar considera 10 países disponibles.
Play video starting at 7 minutes 10 seconds and follow transcript7:10
Calculemos entonces como ejemplo la distancia euclidiana 
entre los clientes Pedro y Ángela.
Play video starting at 7 minutes 18 seconds and follow transcript7:18
Para ello obtendremos la diferencia en cada uno de los distintos grupos de 
variables. 
Considerando la antiguedad tienen una diferencia de 0.2. 
Considerando el rango de sueldo tienen una diferencia de 0.5. 
Y en las variables binarias tienen ambas una diferencia de 1. 
En el estado civil son iguales por lo tanto ahí su diferencia es 0 y en el lugar 
son distintos. 
Pero como existen 10 países, su diferencia es 1 dividido por 10. 
Sumando todas las diferencias mencionadas anteriormente, 
vemos que la distancia total es de 2.8. 
Dado que María pertenece a la clase ocasional, 
y como estamos clasificando usando un vecino cercano, 
asignamos a Ángela entonces la clase ocasional también.
Play video starting at 8 minutes 6 seconds and follow transcript8:06
En este video vimos un ejemplo completo del algoritmo de la ejecución 
de vecinos cercanos considerando un problema con tipos de variables mezcladas. 
Aprendimos que el algoritmo puede ser usado con cualquier tipo de distancia 
pero esta debe ser cuidadosamente definida 
dependiendo del tipo de variables que estamos considerando. 
[AUDIO_EN_BLANCO]
[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de minería de datos. 
En este video veremos un par de ejemplos aplicados del algoritmo de vecinos 
cercanos.
Play video starting at 15 seconds and follow transcript0:15
La motivación principal de este video es utilizar la mayoría de los conceptos 
vistos sobre la técnica de los vecinos cercanos 
mostrando cómo sería una ejecución completa del algoritmo.
Play video starting at 26 seconds and follow transcript0:26
Supongamos que tenemos la siguiente tabla de datos de entrenamiento 
con tres casos de la clase A y tres casos de la clase B.
Play video starting at 35 seconds and follow transcript0:35
Llega entonces un nuevo dato P7 para el cual no conocemos su clase y queremos 
realizar una clasificación usando la técnica de vecinos cercanos.
Play video starting at 48 seconds and follow transcript0:48
En esta diapositiva mostramos la distribución de los puntos de 
entrenamiento en forma visual. 
El eje horizontal corresponde a la variable X 
y el eje vertical a la variable Y.
Play video starting at 1 minute 0 seconds and follow transcript1:00
Para este ejemplo usaremos la distancia euclidiana 
you que todos los datos son numéricos.
Play video starting at 1 minute 6 seconds and follow transcript1:06
Lo primero que debemos hacer es calcular la distancia desde el dato que queremos 
clasificar hacia todos los otros puntos de nuestra base de datos de entrenamiento.
Play video starting at 1 minute 18 seconds and follow transcript1:18
En esta diapositiva mostramos a modo de ejemplo cómo calcular la distancia 
euclidiana entre P1 y P7 y entre P2 y P7. 
Luego de calcular la distancia entre P7 y todos los otros puntos, 
de la misma forma en que se mostró en la diapositiva anterior con P1 y P2 el
Play video starting at 1 minute 38 seconds and follow transcript1:38
resultado de todas las distancias se ve en esta diapositiva.
Play video starting at 1 minute 44 seconds and follow transcript1:44
Podemos usar una matriz como la que sale en la figura 
para representar en una fila la distancia entre el punto P7 
y todos los otros puntos desplegados hacia la derecha en columnas.
Play video starting at 1 minute 56 seconds and follow transcript1:56
Supongamos entonces que vamos a usar un clasificador de un vecino cercano, en este 
caso debemos detectar primero la distancia más pequeña dentro de nuestra matriz de 
distancias para así conocer al vecino más cercano y luego verificar su clase. 
En este caso, el vecino cercano pertenece a la clase A Finalmente 
entonces la clasificación que deberíamos predecir para el punto P7 es 
clase A you que esa es la clase del vecino más cercano. 
¿Qué ocurre si usamos un clasificador de 3 vecinos cercanos? 
Vemos entonces en la pantalla las tres distancias más pequeñas 
por lo tanto tenemos identificados a los tres vecinos más cercanos.
Play video starting at 2 minutes 41 seconds and follow transcript2:41
Además visualizamos sus clases, los dos primeros vecinos 
pertenecen a la clase A y el tercer vecino pertenece a la clase B.
Play video starting at 2 minutes 51 seconds and follow transcript2:51
Finalmente entonces la clasificación para el dato P7 usando tres 
vecinos cercanos es clase A, you que de los tres vecinos dos pertenecen 
a la clase A y solo uno pertenece a la clase B. 
Veamos ahora otro ejemplo. 
Supongamos que tenemos una base de datos de clientes 
como la que aparece en la tabla.
Play video starting at 3 minutes 16 seconds and follow transcript3:16
La primera variable es numérica y corresponde a la antiguedad en años 
del cliente correspondiente a la fila que estamos considerando. 
Notar que el nombre no lo consideramos como una variable sino 
más como un identificador de cada cliente.
Play video starting at 3 minutes 33 seconds and follow transcript3:33
La segunda variable es ordinal, 
y corresponde al rango de sueldo que gana el cliente en cuestión.
Play video starting at 3 minutes 41 seconds and follow transcript3:41
La tercera y cuarta variable son binarias, la tercera dice si nuestro cliente 
tiene hijos o no y la cuarta corresponde al género.
Play video starting at 3 minutes 52 seconds and follow transcript3:52
Las variables quinta y sexta son categóricas, 
corresponden al estado civil y al país en el cual está ubicada la tienda 
a la cual el cliente está afiliado respectivamente.
Play video starting at 4 minutes 5 seconds and follow transcript4:05
Finalmente la última columna corresponde a la clase 
a la cual pertenece cada cliente de nuestra base de datos de entrenamiento. 
¿Qué ocurre entonces si aparece un cliente para el cual no conocemos su clase?
Play video starting at 4 minutes 21 seconds and follow transcript4:21
Supongamos que utilizaremos la técnica de vecinos cercanos 
para realizar esta clasificación.
Play video starting at 4 minutes 29 seconds and follow transcript4:29
Primero notamos que debemos transformar las variables binarias a 0 y 1.
Play video starting at 4 minutes 36 seconds and follow transcript4:36
Luego recordemos que debemos transformar la variable ordinal, en este caso mapeamos 
la variable rango de sueldo al rango 0 1 con los valores que aparecen en pantalla, 
0 para el rango menor que 200 05 para el rango 
250 750 y 1 para el rango mayor que 750.
Play video starting at 4 minutes 57 seconds and follow transcript4:57
Vemos entonces que la variable rango sueldo queda transformada con los valores 
que aparecen marcados en la tabla.
Play video starting at 5 minutes 6 seconds and follow transcript5:06
Si bien la variable antiguedad es numérica, you que corresponde al número de 
años que nuestro cliente lleva en la empresa, es necesario normalizarla. 
Esta normalización consta de llevar todos los valores de las variables al rango 0 1. 
Supongamos por ejemplo que estamos calculando la distancia euclidiana 
y notamos que el rango en que se mueven las distancias según la variable 1 va 
de 0 a 1000, mientras que el rango en que se mueve la variable 2 es de 0 a 1. 
Esto generaría un problema you que la distancia total se vería totalmente 
gobernada por la variable 1. 
Por eso es que debemos llevar el rango 0 1000 al rango 0 1 también. 
Para normalizar un rango A1 B1 a un rango nuevo A2 B2 
simplemente nuestros datos deben estar ubicados de tal forma de 
mantener proporcionalmente su posición relativa en el rango. 
Por ejemplo si queremos llevar el valor X1 al rango nuevo llamado X2 
simplemente aplicamos la fórmula que se ve en pantalla. 
El segundo término de la ecuación se preocupa de rescatar el tamaño 
proporcional del segmento A2 X2 y el primer término se 
preocupa de que este segmento esté ubicado partiendo desde A2.
Play video starting at 6 minutes 23 seconds and follow transcript6:23
En nuestro ejemplo entonces sobre la variable antiguedad si suponemos que la 
empresa lleva 5 años funcionando, tenemos que la variable va desde 0 hasta 5 años, 
si la queremos llevar al rango 0 1, simplemente aplicamos la fórmula vista en 
la diapositiva anterior para cada uno de los valores actuales de la variable.
Play video starting at 6 minutes 45 seconds and follow transcript6:45
Vemos entonces en la imagen los valores de la variable antiguedad normalizados en el 
rango 0 1. 
Ahora solo nos queda identificar el número de valores posibles 
que toman nuestras variables categóricas.
Play video starting at 7 minutes 0 seconds and follow transcript7:00
Consideraremos entonces que la variable estado civil tiene cuatro valores posibles 
y que la variable lugar considera 10 países disponibles.
Play video starting at 7 minutes 10 seconds and follow transcript7:10
Calculemos entonces como ejemplo la distancia euclidiana 
entre los clientes Pedro y Ángela.
Play video starting at 7 minutes 18 seconds and follow transcript7:18
Para ello obtendremos la diferencia en cada uno de los distintos grupos de 
variables. 
Considerando la antiguedad tienen una diferencia de 0.2. 
Considerando el rango de sueldo tienen una diferencia de 0.5. 
Y en las variables binarias tienen ambas una diferencia de 1. 
En el estado civil son iguales por lo tanto ahí su diferencia es 0 y en el lugar 
son distintos. 
Pero como existen 10 países, su diferencia es 1 dividido por 10. 
Sumando todas las diferencias mencionadas anteriormente, 
vemos que la distancia total es de 2.8. 
Dado que María pertenece a la clase ocasional, 
y como estamos clasificando usando un vecino cercano, 
asignamos a Ángela entonces la clase ocasional también.
Play video starting at 8 minutes 6 seconds and follow transcript8:06
En este video vimos un ejemplo completo del algoritmo de la ejecución 
de vecinos cercanos considerando un problema con tipos de variables mezcladas. 
Aprendimos que el algoritmo puede ser usado con cualquier tipo de distancia 
pero esta debe ser cuidadosamente definida 
dependiendo del tipo de variables que estamos considerando. 
[AUDIO_EN_BLANCO]

Evaluación Semana 2
PUNTOS TOTALES DE 10

1.Pregunta 1
¿Qué es la clasificación?

1 punto

Un problema de clasificación busca encontrar patrones en un grupo de elementos

Un problema de clasificación busca encontrar un sistema capaz de identificar automáticamente para cada objeto la clase a la cual
pertenece
Es una técnica para buscar asociaciones entre distintos productos

Es una técnica para agrupar información en distintos grupos o clusters

2.Pregunta 2
¿Cómo se representan los objetos para poder aplicar un algoritmo de clasificación? Marque la/s alternativa/s correcta/s.

1 punto

Vectores con descriptores relevantes para la clasificación

No hace falta ningún pre procesamiento. Generalmente es obtener los datos tal cual y entrenar usando un modelo de clasificación

En variables usando características propias del objeto y su clase

Si fuera una imagen una posibilidad es usar cada uno de los pixeles de la imagen como una variable

3.Pregunta 3
¿Qué hace el algoritmo de vecinos cercanos?
1 punto

Agrupar un dato nuevo a partir de datos más parecidos

Clasificar un dato nuevo a partir de datos más parecidos

Clasificar un dato nuevo usando un árbol de decisión

Clasificar un dato nuevo asumiendo independencia entre las distintas variables

4.Pregunta 4
¿Por qué conviene normalizar las variables antes de realizar el algoritmo de vecinos cercanos?

2 puntos

Para evitar artefactos numéricos o indeterminaciones que pueden aparecer

Para acelerar el cálculo en las primeras iteraciones


Para cambiar la dimensión en la que existen los datos de entrenamiento

Para que variables con rangos mayores no dominen frente a variables con rangos menores

5.Pregunta 5
La base de datos es de la siguiente manera:

Deporte Posición en la empresa sueldo

tenis secretario $1.200

futbol analista $2.500

¿Qué tipo de variables serían los atributos Deporte, Posición en la empresa y Sueldo respectivamente?

1 punto

Variable categórica, binaria y ordinal

Variable ordinal, categórica y númerica


Variable catégorica, ordinal y númerica

Variable categórica, ordinal y categórica

6.Pregunta 6
¿Cuáles de estas aseveraciones corresponden a modificaciones posibles del algoritmo Vecinos Cercanos? (Marca TODAS las alternativas
correctas)

3 puntos

Amplificar/disminuir ciertas variables para el cálculo de la distancia

Normalizar los datos

Utilizar pesos para las dimensiones de tal forma de dar pesos menores a las dimensiones menos relevantes

Considerar la distancia de los vecinos para la votación de la clase

7.Pregunta 7
¿Cuál es la principal desventaja del algoritmo de Vecinos Cercanos?

1 punto

Al utilizar muchas dimensiones y todas con la misma relevancia el algoritmo se vuelve infactible en la práctica

El algoritmo de vecinos cercanos es relativamente simple

El algoritmo de vecinos cercanos no tiene ninguna desventaja bien marcada

El algoritmo de vecinos cercanos considera las distancias de los vecinos para la votación de la clase
ARBOLES DE DECISION

[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de Minería de datos. 


En este video comenzaremos a ver un nuevo modelo de clasificación automática,
Play video starting at 20 seconds and follow transcript0:20
los árboles de decisión. 
La motivación principal de este video es entender cómo funcionan los árboles de 
decisión, primero comprendiendo la forma en que opera un árbol 
una vez que you está construido y luego analizando 
cómo funciona el algoritmo para construir un árbol directamente desde los datos.
Play video starting at 34 seconds and follow transcript0:34
Supongamos que tenemos un problema, donde nos interesa un modelo que sepa clasificar 
solicitudes de créditos hipotecarios entre las clases Aprobado y Rechazado. 
Notar la tabla de datos de entrenamiento que aparece en la diapositiva. 
Recordar que es de entrenamiento, you que la última columna contiene la clase a la 
cual pertenece cada dato, es decir, 
tenemos un historial de solicitudes de créditos hipotecarios y sabemos, 
para cada uno de esos casos, la respuesta correcta a cada una de esas solicitudes. 
Las variables en este ejemplo son Cliente, que indica si una solicitud de crédito 
es generada por un cliente del banco o no; la variable Ingreso, 
que indica el nivel de ingresos de la persona que solicita el crédito; 
y la variable Historial, que indica que tan bueno ha sido el comportamiento 
crediticio de la persona en el pasado.
Play video starting at 1 minute 28 seconds and follow transcript1:28
En la diapositiva tenemos un ejemplo de árbol de decisión 
que podría ser una solución a nuestro problema. 
Los nodos azules son los nodos internos del árbol, 
los nodos rojos y verdes son las hojas del árbol.
Play video starting at 1 minute 44 seconds and follow transcript1:44
En general, cada nodo interno del árbol representa una variable 
o atributo de nuestra base de datos. 
Por ejemplo, el nodo Cliente, se refiere a la variable Cliente que corresponde a la 
primera columna de nuestros datos de entrenamiento.
Play video starting at 1 minute 58 seconds and follow transcript1:58
Cada link que sale de los respectivos nodos representa los 
posibles valores que puede tomar el nodo desde donde salen los links. 
Por ejemplo, el nodo que corresponde a la variable Historial 
puede tomar los valores Bueno o Malo.
Play video starting at 2 minutes 14 seconds and follow transcript2:14
Cada nodo realiza una pregunta basada en los valores que el atributo puede tomar, 
dependiendo del resultado, el árbol nos va guiando por el camino a seguir. 
Por ejemplo, 
el nodo Historial pregunta si el valor de la variable Historial es bueno o malo. 
Si es bueno, el camino sigue por la flecha del lado izquierdo; si es malo, 
el camino sigue por la flecha del lado derecho.
Play video starting at 2 minutes 41 seconds and follow transcript2:41
Los nodos hoja corresponden al resultado final de la clasificación 
generada por el árbol. 
Por ejemplo, si un dato llega a la primera hoja verde del lado izquierdo, 
significa que la clasificación del dato es aprobado.
Play video starting at 2 minutes 56 seconds and follow transcript2:56
Clasificar un nuevo dato usando un árbol de decisión es bastante simple, 
solo tenemos que ingresar el nuevo dato al árbol, 
bajando desde el nodo raíz hasta llegar a una hoja.
Play video starting at 3 minutes 9 seconds and follow transcript3:09
Veamos un ejemplo.
Play video starting at 3 minutes 12 seconds and follow transcript3:12
Supongamos que nuestro nuevo dato es una persona que es cliente, 
tiene un buen historial y un alto ingreso. 
La idea entonces es ver cuál sería su clasificación.
Play video starting at 3 minutes 23 seconds and follow transcript3:23
Vamos entonces bajando por el árbol con este nuevo dato.
Play video starting at 3 minutes 27 seconds and follow transcript3:27
Primero, pasamos por el nodo cliente. 
La pregunta es si es que el dato corresponde a un cliente o no. 
Como en este caso la respuesta es sí, bajamos por la rama del lado izquierdo.
Play video starting at 3 minutes 39 seconds and follow transcript3:39
Ahora nos preguntamos cómo es el historial de esta persona. 
Como sabemos que el historial es bueno, bajamos entonces por la rama izquierda.
Play video starting at 3 minutes 49 seconds and follow transcript3:49
Finalmente, llegamos a una hoja, la cual nos entrega el valor de la clase 
que el modelo estaría eligiendo para ese dato. 
En este caso, la persona es aprobada.
Play video starting at 4 minutes 0 seconds and follow transcript4:00
Acabamos de ver que clasificar usando un árbol es bastante sencillo, pero 
obviamente lo que nos interesa es saber, ¿cómo obtenemos el árbol de decisión? 
Principalmente, ¿cómo hacemos que se construya solo desde los datos?
Play video starting at 4 minutes 17 seconds and follow transcript4:17
Lo primero que necesitamos para construir el árbol es nuestro conjunto de 
entrenamiento, es decir, una base de datos con instancias etiquetadas.
Play video starting at 4 minutes 27 seconds and follow transcript4:27
La construcción del árbol comienza con la elección del nodo raíz. 
Para ello, tenemos que seleccionar la mejor variable de nuestra base de datos. 
Por ahora, 
vamos a asumir que tenemos un criterio para seleccionar la mejor variable. 
Después entraremos en los detalles sobre cómo evaluar la 
calidad de cada una de las variables.
Play video starting at 4 minutes 48 seconds and follow transcript4:48
Supongamos que la mejor variable en este caso es la variable Cliente.
Play video starting at 4 minutes 53 seconds and follow transcript4:53
Procedemos entonces a iniciar la construcción del árbol, 
colocando como nodo raíz al nodo que corresponde a la variable Cliente.
Play video starting at 5 minutes 3 seconds and follow transcript5:03
La idea ahora es repetir lo mismo, pero seleccionando la mejor variable 
cuando you asumimos que el valor de cliente es Sí,
Play video starting at 5 minutes 13 seconds and follow transcript5:13
y cuando you asumimos que el valor de cliente es No.
Play video starting at 5 minutes 19 seconds and follow transcript5:19
Para realizar esta separación, debemos identificar las filas, 
considerando los valores posibles que puede tomar la variable Cliente, 
de tal forma de enviar las filas por distintos brazos debajo del nodo raíz. 
En este caso, los valores posibles son Sí y No, 
y están marcados con colores azul y rojo, respectivamente.
Play video starting at 5 minutes 40 seconds and follow transcript5:40
El siguiente paso es separar toda nuestra base de datos de entrenamiento en dos, 
las filas que corresponden con el valor Sí de la variable Cliente y las 
filas que corresponden con el valor No de la misma variable.
Play video starting at 5 minutes 53 seconds and follow transcript5:53
Procedemos a separar, entonces, la tabla de datos y cada una se envía 
a cada uno de los brazos posibles del nodo Cliente.
Play video starting at 6 minutes 1 second and follow transcript6:01
Luego debemos elegir la mejor variable para poner 
en cada uno de los brazos posibles.
Play video starting at 6 minutes 8 seconds and follow transcript6:08
Por ejemplo, supongamos que en el lado izquierdo la mejor variable es Historial.
Play video starting at 6 minutes 15 seconds and follow transcript6:15
Colocamos entonces un nodo nuevo correspondiente a la variable Historial 
como hijo izquierdo de la variable Cliente.
Play video starting at 6 minutes 22 seconds and follow transcript6:22
De forma análoga, para el lado derecho, buscamos la mejor variable también.
Play video starting at 6 minutes 28 seconds and follow transcript6:28
Supongamos que en este caso la mejor variable es Ingreso.
Play video starting at 6 minutes 34 seconds and follow transcript6:34
Colocamos, entonces, un nodo nuevo correspondiente a la variable Ingreso 
como hijo derecho de la variable Cliente.
Play video starting at 6 minutes 42 seconds and follow transcript6:42
Ahora todo el proceso se repite, partiendo desde los nodos Historial e Ingreso, 
y así seguimos hasta que no queden datos para continuar.
Play video starting at 6 minutes 53 seconds and follow transcript6:53
La recursión general, entonces, del algoritmo, 
contiene los siguientes pasos, tomar el mejor atributo, 
colocarlo como nodo raíz, dividir el set de entrenamiento de acuerdo a los valores 
de este atributo y continuar recursivamente haciendo lo mismo.
Play video starting at 7 minutes 9 seconds and follow transcript7:09
El primer criterio para detener el proceso de construcción, 
es decir, la llamada recursiva, es preguntarnos si llegamos a un punto 
donde todas las filas que quedan pertenecen a la misma clase. 
En ese caso, ponemos una hoja con el nombre de esa clase.
Play video starting at 7 minutes 27 seconds and follow transcript7:27
El segundo criterio de detención de la recursión es cuando llegamos a un 
punto en que todas las filas de la base de datos son iguales en sus variables. 
En ese caso, 
colocamos una hoja que contenga a la clase que más se repite entre esas filas.
Play video starting at 7 minutes 46 seconds and follow transcript7:46
En este video, aprendimos de forma general cómo es el proceso de construcción de un 
árbol de decisión.
Play video starting at 7 minutes 52 seconds and follow transcript7:52
Vimos en qué consistían las llamadas recursivas y los 
criterios de detención del algoritmo. 
No debemos olvidar que un árbol necesita de un conjunto de entrenamiento para poder 
construirse, lo cual lo cataloga como un tipo de aprendizaje supervisado.
Play video starting at 8 minutes 8 seconds and follow transcript8:08
No olvidar que aún tenemos pendiente estudiar la forma 
en que elegimos al mejor atributo para colocar cada uno de los nodos. 
[AUDIO_EN_BLANCO]

ENTROPIA
[MÚSICA] ¡Bienvenidos a un nuevo video a nuestro curso de Minería de Datos! 
En este video, estudiaremos en detalle el concepto de entropía, término clave 
para la selección de variables durante la construcción de un árbol de decisión. 
Lo que nos motiva en este video es entender bajo qué criterio se evalúa 
la calidad de las variables de nuestra base de datos, a la hora de seleccionar 
los mejores nodos durante el proceso de construcción del árbol. 
Lo primero es entender que, en el contexto de clasificación automática, la calidad 
de una variable tiene que ver con su capacidad de separar los elementos entre 
las distintas clases posibles, una vez que esa variable toma alguno de esos valores. 
Por ejemplo, distintos valores de la variable 
[INCOMPRENSIBLE] distintos valores de la clase. 
Si hay una relación directa entre los valores de la variable y las posibles 
clases, significa que la variable es muy buena para clasificar. 
La calidad de una variable entonces tiene que ver con cuán bien se separan las 
clases, cada vez que instanciamos ese atributo. 
Las clases se separan bien cuando cada subgrupo generado por la 
división del atributo es homogéneo, es decir, 
en cada subgrupo todos pertenecen a la misma clase. 
Por ejemplo, en la figura tenemos la variable edad. 
Vemos que toma dos valores posibles entre 18 y 25 y mayor que 25. 
¡Marquemos con colores los distintos valores que puede tomar la variable! 
En los casos en que los clientes tienen entre 18 y 25 años, 
las clases que aparecen son Frecuente y Ocasional, es decir, 
el estar entre 18 y 25 años no nos deja claro a qué clase pertenece el cliente. 
Por otro lado, si la edad es mayor que 25, las clases también quedan divididas, 
es decir, cuando los clientes tienen más de 25 años, 
tampoco nos queda claro al que clase pertenecen. 
Por lo tanto, la variable es mala para clasificar. 
Ahora tenemos otro ejemplo. 
La variable género. 
Los valores posibles son hombre o mujer. 
Marquemos con colores los distintos valores que puede tomar la variable. 
Si seleccionamos de los datos, 
los casos en que los clientes son mujeres, vemos que en ambos casos, 
la clase es ocasional, por lo tanto, cuando el género del cliente es mujer, 
es un buen predictor para los clientes ocasionales. 
Ahora, si seleccionamos de los datos, los casos en que los clientes son hombres, 
vemos que todos pertenecen a la clase Frecuente. 
Por lo tanto, los clientes hombres son un buen predictor para la clase Frecuente. 
Finalmente, podemos concluir que la variable género es buena, 
you que cuando la instanciamos, genera un buen grado de homogeneidad de la clase. 
Dado que you notamos que la calidad de una variable tiene 
que ver con la homogeneidad de la clase, una vez que instanciamos la variable, 
necesitamos una métrica de homogeneidad. 
Veamos un ejemplo, un poco más complejo. 
Supongamos que tenemos dos clases posibles sí y no. 
Si existen 100 registros en nuestra base de datos, 
donde cada clase tiene la mitad de los registros, 
y supongamos que al revisar los casos en que A vale 0, nos encontramos con 48 
filas que pertenecen a la clase Sí y dos filas que pertenecen a la clase No. 
Al mirar ahora los casos en que A vale 1, 
vemos que quedan dos casos de la clase Sí y 48 de la clase No. 
Entonces, la variable A logró mayormente separar bien las clases cuando 
esta fue instanciada. 
Ahora revisemos la variable B. 
Supongamos que al instanciar la variable B en su valor 0, 
nos da que 26 registros pertenecen a la clase Sí y 24 a la clase No. 
Esto no es bueno, you que significa que la variable B en su valor 0, 
no logró homogeneizar la clase. 
Al revés, los dejó aproximadamente mitad de una clase y mitad de la otra. 
Algo similar ocurre cuando la variable B se instancia en el valor 1. 
24 casos quedan de la clase Sí y 26 casos quedan de la clase No. 
Aquí también la variable dejó una mala homogeneización de la clase. 
Nuevamente, tenemos el caso de una variable buena y una mala, 
pero aquí vemos que la homogeneización toma valores intermedios, es decir, 
necesitamos una medida que nos entregue un valor de homogeneización para cada 
posible proporción de elementos que pertenezcan a una clase y a la otra. 
Dado que you entendimos de los ejemplos que es necesario poder medir la 
homogeneidad de la clase cada vez que instanciamos la variable que estamos 
evaluando, estamos en condiciones de estudiar el concepto de entropía. 
La entropía proviene de la teoría de la información, 
es un indicador que nos permite medir el grado de desorden en un conjunto de datos. 
La entropía la denotaremos por H y corresponde a menos la suma 
del término p log p, para cada clase posible, donde p indica la 
proporción de casos que pertenecen a cada valor de la clase en cuestión. 
Veamos un ejemplo del uso de entropía. 
Consideremos los datos que aparecen en la diapositiva. 
Primero, notemos que existen dos posibles clases, Frecuente y Ocasional. 
Marcamos las filas con distintos colores, para que sea más fácil visualizarlas. 
Si queremos calcular la entropía de la clase, 
aplicando la fórmula que vimos anteriormente, 
debemos observar las proporciones de casos que ocurren para cada uno de los posibles 
valores que toma la clase, en este caso, Frecuente y Ocasional. 
En el caso Frecuente, tenemos una fila de un total de cuatro, 
y en el caso de Ocasional, tenemos tres filas de un total de cuatro. 
Aplicando esas proporciones en la fórmula, vemos en pantalla el resultado. 
La entropía es igual a 1, en el caso en que tenemos un 50% de los datos 
perteneciendo a cada una de las dos clases posibles. 
En este video aprendimos el concepto de entropía, 
que mide el grado de homogeneidad en un conjunto de valores. 
Típicamente, nosotros medimos homogeneidad en la columna de la clase de los datos 
que corresponde al target que queremos predecir en la 
clasificación automática.

CONCEPTO DE GANANCIA DE INFORMACIÓN, 


[SONIDO] Bienvenidos a un nuevo video de nuestro curso de minería de datos. 
En este video estudiaremos en detalle el concepto de ganancia de información, 
término clave para la selección de variables durante la construcción 
de un árbol de decisión. 
Lo que nos motiva en este video es entender cómo, 
finalmente, evaluamos la calidad de una variable, 
principalmente usando el concepto de entropía, visto en el video anterior. 
Dado que you conocemos el concepto de entropía, veremos ahora entonces cómo 
usarla directamente para poder calcular la calidad de una variable. 
Recordemos que para evaluar la calidad de una variable mirábamos qué 
tan homogéneas van quedando las clases de los grupos de datos que se arman 
una vez que vamos instanciando la variable en cada uno de sus posibles valores. 
En este ejemplo, al evaluar la variable género, separamos los datos según sus 
valores y nos queda la parte izquierda con tres casos de la clase ocasional y 
dos casos de la clase frecuente, lo cual no es bueno you que no es homogéneo. 
En la parte derecha, quedan dos casos de la clase ocasional y un caso de la clase 
frecuente, lo cual tampoco es tan homogéneo. 
Al evaluar la variable ingreso, 
dado que tiene tres valores posibles, generamos las tres separaciones. 
Vemos que la parte que corresponde al valor menor que 100 tiene todos los 
casos de la misma clase, eso es muy bueno. 
La parte que corresponde al rango 100- 200 tiene dos casos de la 
clase frecuente y un caso de la clase ocasional, eso no es homogéneo. 
Y finalmente, la parte que corresponde al valor mayor que 200 tiene 
un caso de la clase ocasional y un clase de la clase frecuente, también 
una situación muy desfavorable para poder llevar a cabo una buena clasificación. 
Vemos entonces, 
que para una misma variable se van generando distintas calidades de 
separaciones para los distintos valores que la variable puede tomar. 
Esto sugiere entonces el uso de un promedio ponderado de homogeneidad para 
cada variable que considere la homogeneidad. 
Es decir, la entropía de la clase en cada valor que toma la variable ponderado 
por la cantidad relativa de filas en las que esa variable toma ese valor. 
Teniendo entonces esto claro, 
podemos definir lo qué es la ganancia de información. 
La ganancia de información es el indicador que mide la calidad de una variable. 
Lo que hace, en palabras simples, es calcular cuánto se reduce la entropía 
de la clase que corresponde al primer término del lado derecho de la ecuación 
cuando vamos instanciando la variable A en cuestión. 
Si miramos el segundo término del lado derecho de la ecuación, 
vemos que lo que hace es calcular la entropía de la 
clase en cada una de las tablas de datos que van quedando, 
una vez que vamos instanciando la variable en cuestión. 
Una vez que calcula todas esas entropías, saca su promedio ponderado. 
Los ponderadores del promedio, simplemente, asignan un peso relacionado 
con el número de filas en que la variable toma ese valor, 
el valor B en partícular, dividido por el total de filas. 
Podemos ver también a la ganancia de información, 
como la diferencia en la entropía de la clase una vez que bajamos en el 
árbol por el atributo que estamos evaluando. 
Veamos un ejemplo concreto, entonces. 
Vamos a calcular la ganancia de información de la 
variable género usando la tabla de datos que vemos en la diapositiva. 
Siguiendo la ecuación que vimos para la definición de ganancia de información, 
lo primero es calcular la entropía de la clase, es decir, cuán homogénea es la 
distribución de la clase antes de instanciar cualquier variable. 
En este caso vemos que hay ocho filas, cinco de ellas pertenecen a la 
clase ocasional y tres de ellas a la clase frecuente. 
Por lo tanto, la entropía es la que vemos en la ecuación en pantalla. 
Ahora nos falta el segundo término de la ecuación de la definición de la ganancia 
de información. 
Para obtenerlo tenemos que instanciar la variable género en sus posibles 
valores y medir la entropía de la clase según las filas que quedan 
una vez que instanciamos la variable. 
Vemos, entonces, que al instanciar la variable en el valor hombre nos quedan 
dos casos de la clase ocasional y un caso de la clase frecuente. 
Por lo tanto, la entropía se obtiene reemplazando las proporciones dos 
tercios y un tercio en la fórmula, esto resulta 0.91. 
Ahora instanciamos la variable género en el valor mujer, y vemos que 
quedan tres casos en la clase ocasional y dos casos en la clase frecuente. 
Por lo tanto, 
calculamos la entropía con las proporciones tres quintos y dos quintos. 
Esta entropía resulta 0.97. 
Finalmente entonces, para obtener la ganancia de información de la variable 
género, debemos obtener primero el promedio ponderado 
de las dos entropías que calculamos anteriormente, donde cada ponderador tiene 
que ver con el número de filas que se consideraron para calcular cada entropía. 
En el caso de la entropía igual a 0.91, se usaron tres de las ocho filas, 
y en el caso de la entropía igual a 0.97 se usaron cinco de las ocho filas. 
Estos cálculos se señalan con círculos verdes en la diapositiva. 
El primer término del lado derecho es, simplemente, 
la entropía inicial de la clase. 
you la calculamos y vale 0.95, 
la señalamos con un círculo verde en la diapositiva. 
Finalmente entonces, la ganancia de 
información de la variable género nos da el valor de 0.0025. 
Para practicar un poco más, 
calculemos la ganancia de información de la variable ingreso. 
Separamos entonces los datos 
instanciando cada uno de los valores que esta variable puede tomar. 
Para el caso en que la variable ingreso toma el valor menor que 100, 
vemos que nos quedan todos los datos en la clase ocasional. 
Por lo tanto, la entropía es cero. 
En el caso en que la variable ingreso toma el valor entre 100 y 200, 
vemos que nos quedan dos casos de la clase frecuente y un caso de la clase ocasional. 
Por lo tanto, la entropía se calcula con las proporciones un tercio y dos tercios. 
Finalmente, para el caso en que la variable ingreso vale mayor que 200, 
tenemos un caso para la clase ocasional y un caso para la clase frecuente. 
Por lo tanto, la entropía se calcula con las proporciones un medio y un medio, 
lo que genera una entropía igual a 1. 
para obtener la ganancia de información de la variable ingreso, 
aplicamos la misma ecuación que you conocemos, reemplazando la 
entropía inicial en el primer término del lado izquierdo de la ecuación, 
y el promedio ponderado de las entropías que recién calculamos, 
eso en el segundo término de la parte derecha de la ecuación. 
Esto nos genera una ganancia de información 
de 0.35 para la variable ingreso. 
Les dejo como desafío calcular la ganancia de información de la variable lugar. 
Eso sí les adelanto, el resultado les debería dar 0.265. 
Ahora si queremos decidir cuál es la mejor variable entre todas las variables de la 
tabla, simplemente, 
tenemos que elegir la variable que tiene la ganancia de información más alta. 
es decir, la variable ingreso, que nos dio una ganancia de información de 0.35. 
En este video, aprendimos lo qué es la ganancia de información, 
que corresponde al indicador final con el cual evaluamos la calidad de una variable 
para ser seleccionada durante la construcción del árbol. 
[AUDIO_EN_BLANCO]

EN EL ÁRBOL DE DECISIÓN

[MÚSICA] Bienvenidos a un nuevo video de nuestro curso minería de datos. 


En este video conversaremos sobre el concepto de sobre ajuste 
en el árbol de decisión. 
La principal motivación de este video es entender el concepto de sobre ajuste u 
overfitting y ver cómo puede afectarnos en la construcción de un árbol de decisión. 
En general, cuando entrenamos un modelo más de lo necesario, el modelo empieza 
a sobremodelar los datos de entrenamiento, lo que genera un resultado no deseado. 
En la imagen podemos ver dos modelos de clasificación distintos, 
uno representado por la línea negra y otro por la línea verde. 
La línea negra es un modelo que parece bastante razonable, 
you que tiene una forma suave, familiar a muchas de las funciones que you conocemos. 
La línea verde por otro lado, 
parece ser un modelo poco natural, como si a la fuerza 
está tratando de formar perfectamente todos los datos de ambas clases. 
En general, cuando entrenamos un modelo más de lo necesario, el modelo empieza 
a sobremodelar los datos de entrenamiento, lo que genera un resultado no deseado. 
En la imagen podemos ver dos modelos de clasificación distintos, 
uno representado por una línea negra y otro por una línea verde. 
La línea negra es un modelo que parece bastante razonable, 
you que tiene una forma suave, familiar a muchas de las funciones que you conocemos. 
La línea verde por otro lado parece ser un modelo poco natural, como si a la 
fuerza está tratando de modelar de forma perfecta todos los datos de ambas clases. 
Típicamente los sets de entrenamiento tienen errores, 
estos errores provienen de varias fuentes, por ejemplo errores que tienen que 
ver con algún tipo de ruido en los datos, o errores que tienen que ver con que el 
set de entrenamiento corresponde a una muestra sesgada, 
es decir poco representativa de los datos de la realidad. 
Si sobreentrenamos nuestro modelo, este empezará a aprender de error, lo que trae 
como consecuencia su peor resultado cuando usamos nuestro modelo en casos futuros, 
que es justamente el momento en que queremos que nuestro modelo funcione bien. 
A la capacidad de un modelo de funcionar bien en casos futuros, 
se le conoce como capacidad de generalización. 
La imagen de la diapositiva nos muestra un ejemplo de un conjunto de datos, 
imaginemos que queremos aprender un modelo que se ajuste a esos datos. 
Es decir, que aprenda a predecir el valor de Y dado el valor de X. 
Ahora vemos con una línea verde tres posibles modelos predicitivos. 
Yendo de izquierda a derecha, tenemos un modelo lineal simple, 
luego un modelo cuadrático y finalmente un modelo que corresponde a unir los puntos 
con líneas entre cada par de datos. 
Intuitivamente vemos que el modelo lineal es muy simple 
como para poder modelar los datos, es decir carece de la flexibilidad necesaria. 
En este caso decimos que el modelo tiene un alto bias o sesgo, 
lo más probable es que el modelo lineal no 
funcione también en los casos futuros por falta de complejidad. 
El caso de unir los puntos intuitivamente se está ajustando demasiado a los datos, 
su nivel de ajuste es tal que nos hace dudar sobre la calidad del modelo, 
you que es un modelo poco natural. 
Lo más probable es que cuando lleguen datos futuros, el modelo tenga un error 
muy alto por culpa del sobreajuste a los datos de entrenamiento. 
El modelo cuadrático es más cercano a ser el indicado en este ejemplo you que 
tiene un mejor balance entre la simplicidad y el nivel de ajuste. 
En general, gran parte de las técnicas del aprendizaje del área de máquinas 
tratan de encontrar modelos que controlen el trade off entre 
ajustarse a los datos, pero con el modelo más simple posible. 
Este trade off es también conocido como el bias variance trade off. 
El bias o sesgo como lo mencionamos 
antes tiene que ver con el grado de flexibilidad del modelo, 
mientras más simple es es menos flexible, por lo tanto tiene un mayor bias. 
El concepto de variance o varianza tiene que ver con cuánto cambiaría el modelo 
si lo hubiésemos ajustado a una muestra distinta a los datos de entrenamiento. 
Cuando el modelo es muy complejo o flexible, tiende a ser muy sensible 
a pequeños cambios en el set de datos con que se ajusta y varía mucho. 
Por eso es que decimos que un modelo muy complejo tiene un variance alto. 
Esa es la razón por la cual le llamamos bias variance trade off. 
En la figura, vemos que el punto ideal donde el error 
de generalización es mínimo, es cuando tenemos el punto donde el bias y el 
variance están al mínimo posible. 
Existe un principio filosófico detrás del control de sobreajuste, es conocido como 
el principio de la navaja de Ockham y dice en palabras simples que si tenemos dos 
modelos que tienen el mismo rendimiento, debemos elegir el modelo más simple. 
En los árboles de decisión también tenemos que preocuparnos de 
controlar la complejidad para que no nos sobreajustemos. 
En particular el análogo a unir los puntos en el caso del árbol 
sería como seguir construyendo el árbol hasta que se nos acaben los datos, 
es decir hasta que los criterios de detención del algoritmo de construcción se 
cumplan porque llegamos a tener un solo dato. 
Para evitar entonces que esto suceda, 
debemos controlar que cada vez que pongamos una 
hoja porque se cumplió alguno de los criterios de detención, 
estemos sustentando esa decisión en una cantidad razonable de datos. 
En otras palabras, debemos forzar la detención de la 
construcción y poner una hoja con la clase más frecuente de los datos que quedan. 
Si es que la cantidad de datos que quedan llegan al límite mínimo de 
datos que permitimos. 
Ese valor tenemos que predefinirlo. 
Por ejemplo, 
podemos decir que el mínimo de datos para poner una hoja en el árbol es de 50. 
Ese proceso es conocido como poda del árbol. 
Si lo miramos desde otro punto de vista, 
el detener la construcción del árbol es equivalente a podar el árbol, 
es decir tomar una rama, eliminar todo el sub árbol que cuelga desde 
esa rama y reemplazarlo por una hoja en la clase más frecuente 
de la sub base de datos que queda al seguir el camino hasta esa rama. 
Existen dos tipos de poda, la pre poda que corresponde a detener 
la construcción del árbol colocando una hoja en un instante dado. 
Esto también es conocido como Early Stopping en otros tipos de modelos de 
aprendizaje de máquinas. 
Por otro lado está la post poda que sería construir el árbol 
sin restricciones y después generar una poda de algunas ramas en forma aleatoria, 
eligiendo los cortes que generen un árbol con mejor rendimiento. 
En la práctica es más eficiente pre podar you que el proceso de post poda puede 
llegar a ser muy costoso. 
Veamos un ejemplo concreto de lo que sería pre podar el árbol. 
Supongamos que tenemos el conjunto de datos de entrenamiento que se ve en 
pantalla. 
Supongamos también que el mínimo de filas para seguir construyendo el árbol es 4. 
Los valores de ganancia e información son los 
mismos que obtuvimos en uno de los ejemplos anteriores. 
En este caso, 
la variable ingreso era la que tenía una mayor ganancia de información. 
Por eso es que se elige como nodo raíz. 
Recordamos en la figura como son los splits 
para los distintos valores de la variable ingreso. 
En la rama del nodo ingreso, 
cuando este está entre 100 y 200, vemos que tenemos solo 3 filas. 
Por lo tanto no estamos cumpliendo con el mínimo requerido por el criterio de poda. 
En este ejemplo ese mínimo es de 4 filas, 
debemos entonces poner una hoja con la clase mayoritaria. 
En esta situación sería la clase frecuente. 
No olvidar que si estuviéramos usando la poda, tendríamos que volver a elegir la 
mejor variable en vez de poner una hoja con la clase. 
En este video aprendimos el concepto de overfitting o sobreajuste. 
Además vimos cómo se interpretan en el modelo de arboles de decisión 
y cómo manejarlo durante el proceso de entrenamiento. 
[AUDIO_EN_BLANCO]

Variables Continuas en Árbol de decisión

[SONIDO] Bienvenidos al nuevo video de nuestro curso de Minería de Datos. 


En este video conversaremos sobre el manejo de variables continuas en los 
árboles de decisión. 
La motivación principal de este video es entender cómo debemos combinar el pre 
procesamiento de datos con el algoritmo de construcción de un árbol de decisión
Play video starting at 24 seconds and follow transcript0:24
para lidiar con las variables continuas.
Play video starting at 28 seconds and follow transcript0:28
Consideremos la tabla de datos que se ve en la diapositiva.
Play video starting at 32 seconds and follow transcript0:32
Tenemos entonces las variables Edad y Género y la Clase tipo de cliente. 
Para efectos didácticos, manejaremos la variable Edad con bastante detalle, 
es decir con un decimal de precisión.
Play video starting at 48 seconds and follow transcript0:48
Dado el tipo de dato que estamos usando en la variable Edad, 
no es posible usar un brazo saliendo del nodo Edad para cada 
valor posible de la variable, you que serían demasiados brazos.
Play video starting at 1 minute 2 seconds and follow transcript1:02
Lo que típicamente se hace es elegir un punto de corte o split 
dentro del rango de números que puede tomar la variable 
con la idea de transformarla en una variable binaria. 
Por ejemplo, si nuestro punto de corte es el número 15, la variable tomaría dos 
valores posibles, mayor que 15 o menos igual que 15. 
¿Cómo elegimos el valor del corte?
Play video starting at 1 minute 25 seconds and follow transcript1:25
Una opción es probar varios valores posibles 
dentro de una grilla definida en el rango de la variable 
y para cada valor calcular la ganancia información de dicha variable, 
de tal modo de elegir el corte que genera una mayor ganancia de información. 
Debemos tener en consideración que si probamos demasiados cortes posibles, 
nuestro algoritmo puede terminar siendo demasiado lento.
Play video starting at 1 minute 50 seconds and follow transcript1:50
Otra opción es probar un corte que coincida con 
cada uno de los valores posibles que efectivamente vemos en los datos. 
Por ejemplo calcular la ganancia de información para 
la variable Edad si el corte fuese 30.5 luego 
calcular la ganancia de información si el corte fuese 20.7 y así sucesivamente. 
De tal forma de elegir el corte que genera una mayor ganancia de información.
Play video starting at 2 minutes 18 seconds and follow transcript2:18
Dado que aún la opción anterior puede ser muy lenta si tenemos muchos datos 
distintos, una tercera opción puede ser elegir aleatoriamente 
un sub conjunto de valores posibles dentro de los datos y calcular la 
ganancia de información solo para esos casos como si fuesen el corte. 
Al igual que antes, 
vamos a elegir el corte que genera una mayor ganancia de información. 
Me imagino que están pensando en 
todo el nivel de detalle que estamos desperdiciando al transformar 
una variable continua en básicamente una variable binaria.
Play video starting at 2 minutes 54 seconds and follow transcript2:54
En realidad no es una mala transformación,
Play video starting at 2 minutes 57 seconds and follow transcript2:57
tenemos que pensar que lo único que nos importa es que el árbol de decisión 
tenga un buen rendimiento en la clasificación de nuevos datos. 
En la práctica esta transformación sí funciona bien 
porque si ocurre el caso de que una variable continua 
perdió mucha información relevante para la clasificación al ser binarizada, 
esta obtendrá una baja ganancia de información por lo tanto 
lo más probable es que no será elegida por el proceso de construcción del árbol.
Play video starting at 3 minutes 31 seconds and follow transcript3:31
Podemos apreciar visualmente que un árbol lo que hace es generar cortes lineales 
en cada una de las variables, de tal forma de tratar de dejar solo datos de 
la misma clase dentro de cada sub cubo que queda al cortar los ejes.
Play video starting at 3 minutes 49 seconds and follow transcript3:49
Otra consideración importante es que un nodo que corresponde a una variable 
continua binarizada puede volver a ser elegido más abajo en el árbol, you que 
podemos realizar nuevos cortes más finos dentro de un corte previamente realizado. 
Por ejemplo, si el nodo A fuese binarizado con los valores mayor que 10 y menor 
igual a 10, una vez que bajamos por el brazo menor o igual a 10, 
podríamos volver a elegir el nodo, 
considerando como cortes posibles los valores menor o igual a 5 y mayor que 5, 
es decir una división más fina dentro de un pedazo you cortado de la variable. 
Notar que esto no ocurre para las variables que son binarias 
desde un principio.
Play video starting at 4 minutes 34 seconds and follow transcript4:34
En este video vimos que las variables continuas en general se transforman 
a variables binarias a través de la elección de un corte, 
de tal forma de que el árbol tenga sólo dos caminos posibles a seguir, 
una vez que pasamos por una variable continua.
Play video starting at 4 minutes 50 seconds and follow transcript4:50
También apreciamos que un árbol puede ser visto como una serie de cortes lineales 
realizados sobre el espacio de las variables donde viven los datos. 
[AUDIO_EN_BLANCO]

ejemplob
[MÚSICA] Bienvenidos al nuevo video de nuestro curso de Minería de datos. 
En este video, veremos un ejemplo completo de construcción de un árbol de decisión. 
La principal motivación de este video es dar un repaso al 
proceso completo de construcción de un árbol, de tal forma de fortalecer los 
conceptos más importantes involucrados en este proceso.
Play video starting at 25 seconds and follow transcript0:25
Supongamos que tenemos la tabla de datos que aparece en la diapositiva. 
Vemos que tenemos tres variables y, 
al final, en el lado derecho una columna con la clase de cada elemento. 
La idea es construir un árbol de decisión que permita clasificar 
el panorama que debería disfrutar un joven dependiendo del clima, 
de si el joven vive o no con sus padres y de su situación económica. 
Los valores posibles para el panorama son, ir al cine o quedarse en la casa.
Play video starting at 53 seconds and follow transcript0:53
Es importante mencionar que en este ejercicio no utilizaremos ningún tipo de 
poda para mantener el ejemplo lo más simple posible.
Play video starting at 1 minute 2 seconds and follow transcript1:02
Lo primero, entonces, para construir el árbol es encontrar la mejor variable, 
en particular, la que corresponderá al nodo raíz del árbol. 
Para ello, recordemos que tenemos que calcular la ganancia de información 
de cada una de las variables. 
En la diapositiva aparecen enunciadas las ecuaciones necesarias 
para calcular cada una de las ganancias de información.
Play video starting at 1 minute 26 seconds and follow transcript1:26
Les recomiendo fuertemente que pausen el video 
y vean con detención cada uno de los términos de las ecuaciones. 
En particular, en esta diapositiva aparece la forma de calcular la ganancia de 
información de las variables Clima y Vive con sus padres.
Play video starting at 1 minute 42 seconds and follow transcript1:42
Vemos ahora la ecuación para calcular la ganancia de información 
de la variable Situación económica. 
Notar que para las tres ganancias de información 
es necesario calcular la entropía inicial de la clase, en este caso, Panorama.
Play video starting at 1 minute 57 seconds and follow transcript1:57
Y luego, un promedio ponderado de la entropía de la clase una vez 
que vamos instanciando los valores posibles de la variable en cuestión.
Play video starting at 2 minutes 7 seconds and follow transcript2:07
Comencemos, entonces, con el cálculo de la entropía de la clase. 
Marcamos con colores las filas que corresponden 
a distintos valores de la clase.
Play video starting at 2 minutes 16 seconds and follow transcript2:16
Vemos que hay cinco casos para Cine y tres casos para Casa. 
Dado que en total son ocho casos, usaremos la proporción de cinco octavos y tres 
octavos para el cálculo de la entropía.
Play video starting at 2 minutes 29 seconds and follow transcript2:29
Siguiendo los cálculos que aparecen en las ecuaciones, podemos apreciar que la 
entropía, usando las proporciones señaladas, es de 0.9544. 
Continuamos, entonces, con la ganancia de información para la variable Clima. 
Dado que necesitamos calcular la entropía de Panorama, 
cada vez que vamos instanciando la variable Clima marcamos con colores los 
posibles valores de esta variable, en este caso Calor, Viento y Lluvia. 
En otras palabras, 
vamos a calcular la entropía de Panorama tres veces; primero con las filas moradas, 
luego con las filas azules, y finalmente con las filas amarillas. 
Después de eso, sacamos el promedio ponderado de las tres y así 
estamos listos para obtener la ganancia de información de la variable Clima. 
Partimos, entonces, con la entropía de Panorama cuando Clima es igual Calor. 
Instanciamos la variable Clima a su valor Calor, lo que significa solo considerar 
las filas de los datos en que la variable vale Calor. 
Con esas filas calculamos la entropía de Panorama. 
En este caso, 
Panorama tiene dos filas, una con la clase Cine y una con la clase Casa. 
Esto implica que debemos usar las proporciones un medio y un medio para el 
cálculo de la entropía.
Play video starting at 3 minutes 37 seconds and follow transcript3:37
Esto nos genera una entropía igual a 1. 
Ahora, calculamos la entropía de Panorama 
para los casos en que la variable Clima es igual a Viento. 
Nos quedan dos casos de tres para el valor Cine y un caso de tres para el valor Casa. 
Sacamos la entropía, entonces, con las proporciones dos tercios y un tercio.
Play video starting at 3 minutes 59 seconds and follow transcript3:59
La tercera entropía que nos queda
Play video starting at 4 minutes 3 seconds and follow transcript4:03
es la de Panorama cuando la variable Clima vale Lluvia. 
Seleccionamos esas filas entonces, en este caso las amarillas, y vemos que 
nos queda un caso que pertenece a la clase Casa y dos casos de la clase Cine. 
Sacamos la entropía, entonces, con esas proporciones y nos da 0.9183. 
Finalmente, para calcular la ganancia de información de la variable Clima, 
sacamos el promedio ponderado de las tres entropías que obtuvimos recién. 
En este caso, los ponderadores son dos octavos, tres octavos y tres octavos, 
que corresponden con el número de filas moradas, 
azules y amarillas respectivamente.
Play video starting at 4 minutes 44 seconds and follow transcript4:44
La ganancia sería la entropía inicial que era 0.9544 menos 
el promedio ponderado, lo que nos da un total de 0.0015675. 
Los invito a realizar el mismo procedimiento con las variables 
Vive con sus padres y Situación económica.
Play video starting at 5 minutes 1 second and follow transcript5:01
Las respectivas ganancias de información aparecen en pantalla.
Play video starting at 5 minutes 8 seconds and follow transcript5:08
Comparando las tres ganancias de información, 
vemos que la variable Vive con sus padres es la que tiene una mayor ganancia de 
información, por lo tanto, es la elegida para ser el nodo raíz del árbol. 
[SONIDO] Procedemos a colocarla 
y a bajar por cada uno de los posibles valores que puede tomar esa variable. 
En este caso, Sí o No. 
Cuando la variable vale Sí, la tabla de datos es la que aparece al lado izquierdo. 
Cuando la variable vale No, 
nos queda una tabla de datos distinta; la podemos ver al lado derecho del árbol.
Play video starting at 5 minutes 48 seconds and follow transcript5:48
Continuamos, entonces, con la construcción del mismo árbol. 
En esencia, haremos lo mismo que hicimos para encontrar el nodo raíz, 
solo que ahora como you bajamos por ese nodo en el árbol, 
trabajaremos solo con los datos que cumplen con que la 
variable Vive con los padres es Sí, es decir, la tabla que aparece en pantalla.
Play video starting at 6 minutes 12 seconds and follow transcript6:12
Al igual que la iteración anterior, 
tenemos que calcular la ganancia de información de todas las variables 
candidatas, en este caso, las variables Clima y Situación económica.
Play video starting at 6 minutes 26 seconds and follow transcript6:26
Al igual que antes, lo primero es calcular la entropía inicial de la clase. 
No olvidar que este valor será distinto al de la iteración anterior, 
you que ahora tenemos un número menor de filas en nuestra tabla de datos. 
Vemos que la clase tiene cuatro casos iguales a Cine y un caso igual a Casa. 
Calculando la entropía con esas proporciones nos da 0.7219. 
Para calcular la ganancia de información de la variable Clima, 
al igual que antes, tenemos que obtener la entropía de 
la clase para cada uno de los valores posibles de la variable. 
En este caso, los cálculos se hacen mucho más rápido, 
you que vemos que nos quedan muy pocas filas para hacer los cálculos. 
Por ejemplo, cuando tenemos solo una fila la entropía es 0, 
you que tenemos un dato perteneciente a una clase, significa que el 100% 
de los casos está en esa clase, es decir, el caso en que la entropía vale 0. 
Si tenemos dos filas, y en ambos casos la clase es distinta, significa 
que tenemos un 50% de los casos en una clase y 50% de los casos en la otra.
Play video starting at 7 minutes 35 seconds and follow transcript7:35
Eso corresponde a la situación en que la entropía vale 1. 
Los invito a que calculen las tres entropías 
de la clase para cada uno de los valores de la variable de Clima. 
Confirmen que corresponden con los números que aparecen en pantalla.
Play video starting at 7 minutes 51 seconds and follow transcript7:51
Finalmente, sacando el promedio ponderado de las tres entropías y realizando 
la resta como lo vemos en pantalla, obtenemos una ganancia de información
Play video starting at 8 minutes 2 seconds and follow transcript8:02
de 0.3219 para la variable Clima cuando la variable Vive con sus padres es Sí.
Play video starting at 8 minutes 9 seconds and follow transcript8:09
Calculemos ahora la ganancia de información para la variable 
Situación económica.
Play video starting at 8 minutes 14 seconds and follow transcript8:14
Al igual que con Clima, tenemos que calcular la entropía de la clase 
para cada uno de los valores de la variable Situación económica. 
Por ejemplo, para el caso en que la situación económica es buena, 
tenemos dos filas marcadas con amarillo.
Play video starting at 8 minutes 31 seconds and follow transcript8:31
Ahí vemos que ambas filas pertenecen a la clase Cine, por lo tanto, 
un 100% de los casos está en la misma clase, es decir, la entropía es 0. 
En el caso en que la variable Situación económica vale Mala, 
tenemos tres casos marcados en azul. 
De esos casos, dos pertenecen a Cine y uno a Casa, por lo tanto, la 
entropía se saca con las proporciones dos tercios y un tercio, resultando 0.9183.
Play video starting at 9 minutes 0 seconds and follow transcript9:00
Aplicando, entonces, los valores encontrados para las dos entropías, 
obteniendo el promedio ponderado y realizando la resta, el resultado para la 
ganancia de información de la variable Situación económica es de 0.17. 
Dado que la ganancia de información del atributo Clima es mayor 
a la del atributo Situación económica, el nodo Clima será el siguiente elegido.
Play video starting at 9 minutes 27 seconds and follow transcript9:27
Lo colocamos, entonces, en nuestro árbol y continuamos la construcción.
Play video starting at 9 minutes 33 seconds and follow transcript9:33
Vemos que el nodo Clima tiene tres flechas saliendo desde él, 
una para cada valor de la variable.
Play video starting at 9 minutes 40 seconds and follow transcript9:40
En cada caso se genera una tabla de datos distinta. 
Aquí lo más probable es que se cumpla alguno de los criterios de detención 
del algoritmo. 
Recordemos que esos criterios se cumplen cuando tenemos 
que todos los datos pertenecen a la misma clase o 
cuando todos los datos tenían los mismos valores en sus atributos.
Play video starting at 10 minutes 1 second and follow transcript10:01
Si no se cumple ninguno de los criterios de detención. 
tenemos que volver a elegir un nodo.
Play video starting at 10 minutes 7 seconds and follow transcript10:07
Afortunadamente solo nos queda una variable posible por lo tanto no nos 
quedaría de otra, que poner el nodo que correspondería a esa variable. 
En este caso Situación Económica.
Play video starting at 10 minutes 20 seconds and follow transcript10:20
Veamos la primera flecha posible. 
Aquí vemos que no se está cumpliendo ninguno de los criterios de detención you 
que las clases son distintas y además los valores en sus atributos también lo son.
Play video starting at 10 minutes 36 seconds and follow transcript10:36
Tenemos que elegir entonces el mejor nodo 
dado que sólo queda la variable Situación Económica esa será la variable elegida.
Play video starting at 10 minutes 46 seconds and follow transcript10:46
Colocamos así la variable en nuestro árbol, 
podemos ver que naturalmente después de la variable Situación Económica sí se cumplen 
los criterios de detención you que nos queda solo una fila en cada brazo, 
por lo tanto ponemos la clase que corresponde a cada fila. 
Cuando la Situación Económica es mala, la clase que aparece es Casa 
y cuando la Situación Económica es buena, la clase que aparece es Cine.
Play video starting at 11 minutes 15 seconds and follow transcript11:15
Vemos ahora que en el caso de que clima es Viento, se cumple uno de 
los criterios de detención you que todos los casos están en la clase Cine.
Play video starting at 11 minutes 26 seconds and follow transcript11:26
Ponemos entonces una hoja con la clase Cine en ese caso. 
Algo similar ocurre en el caso en que clima vale Lluvia. 
Vemos que también se cumple uno de los criterios de detención, 
de hecho se cumplen los dos. 
¿Por qué?
Play video starting at 11 minutes 42 seconds and follow transcript11:42
Colocamos entonces una hoja con la clase Cine también en ese caso.
Play video starting at 11 minutes 49 seconds and follow transcript11:49
Nos queda ver qué ocurre en la rama en que el nodo Vive con sus padres, vale no. 
La tabla de datos en esa situación se puede apreciar en la figura.
Play video starting at 12 minutes 0 seconds and follow transcript12:00
Vemos que no se cumple ninguno de los criterios de detención, 
por lo tanto tenemos que elegir la mejor variable para ese caso.
Play video starting at 12 minutes 9 seconds and follow transcript12:09
Eso significa que tenemos que calcular la ganancia de información para 
los atributos Clima y Situación Económica con la tabla de datos en pantalla.
Play video starting at 12 minutes 22 seconds and follow transcript12:22
Nuevamente tenemos que calcular la entropía inicial de la Clase. 
Aquí hay dos filas en que la Clase vale Casa y una fila en que la Clase vale Cine, 
por lo tanto la entropía se calcula con las proporciones dos tercios y un tercio, 
el resultado 0.91.
Play video starting at 12 minutes 40 seconds and follow transcript12:40
Procedemos a calcular la ganancia de información de la variable Clima. 
Eso requiere el cálculo de la entropía de la Clase para cada uno 
de los valores de la variable Clima. 
Aquí vemos que los valores que aparecen son Viento y Lluvia. 
En el caso de Viento, la entropía es 0 y en el caso de Viento, la entropía es 1.
Play video starting at 13 minutes 2 seconds and follow transcript13:02
No olviden repasar por qué ocurre esta situación.
Play video starting at 13 minutes 7 seconds and follow transcript13:07
Como you sabemos, sacamos el promedio ponderado, 
aplicamos la resta y nos da 0.2516. 
Hacemos lo mismo para la variable Situación Económica. 
Aquí las entropías de la Clase para cada valor de la variable 
Situación Económica son, 
0 en el caso de que la Situación Económica es buena y 1 en el caso en que es mala.
Play video starting at 13 minutes 33 seconds and follow transcript13:33
Sacando el promedio ponderado y aplicando la resta, 
obtenemos el resultado en pantalla.
Play video starting at 13 minutes 43 seconds and follow transcript13:43
Vemos que la ganancia de información de la Situación Económica y el Clima 
nos da el mismo valor. 
Típicamente lo que se hace en este caso 
es elegir una de las variables en forma aleatoria.
Play video starting at 13 minutes 55 seconds and follow transcript13:55
Supongamos que vamos a elegir entonces a la variable Situación Económica.
Play video starting at 14 minutes 3 seconds and follow transcript14:03
Finalmente el árbol queda como aparece en la diapositiva.
Play video starting at 14 minutes 7 seconds and follow transcript14:07
Los invito a chequear las hojas que agregamos y comprobar que son correctas.
Play video starting at 14 minutes 15 seconds and follow transcript14:15
En este video, 
vimos un ejemplo completo de la construcción de un árbol de decisión.
Play video starting at 14 minutes 22 seconds and follow transcript14:22
Vimos que recursivamente se van repitiendo los 
mismos pasos en cada etapa de la construcción del árbol.
Play video starting at 14 minutes 30 seconds and follow transcript14:30
No olvidar que en este ejemplo en particular no utilizamos Poda, 
you que la finalidad era repasar el proceso de construcción desde 
0.
Evaluación Semana 3
PUNTOS TOTALES DE 10

1.Pregunta 1
¿De qué tipo es el algoritmo de árbol de decisión?

1 punto

Es un algoritmo de tipo No Supervisado

Es un algoritmo de tipo Supervisado

Es de tipo árbol

Es una mezcla entre Supervisado y No Supervisado

2.Pregunta 2
¿Cuál es la clasificación para el crédito de un cliente con buen historial e ingreso de $750 dólares?
1 punto
No se puede determinar

Depende de la situación

Aprobado

Rechazado

3.Pregunta 3
Usando la figura de la pregunta anterior, ¿cuál es la variable con mayor ganancia de información?

1 punto

Historial

Ingreso

Cliente
No se puede determinar

4.Pregunta 4
¿Cuál de estas aseveraciones se ajusta mejor al término de entropía para el algoritmo de clasificación?

1 punto

La entropía es una medida de desorden

La entropía mide el grado de homogeneidad de un conjunto de datos

La entropía nos permite poder elegir la variable a elegir en la siguiente iteración

p*log(p)

5.Pregunta 5
¿Qué representa la figura a continuación?
1 punto

Muestra el valor de la entropía versus la proporción de elementos de una clase. Aquí estamos suponiendo que existen tres clases posibles
Muestra el valor de la entropía versus la proporción de elementos de una clase. Aquí estamos suponiendo que existen dos clases posibles

Muestra el valor de la ganancia versus la proporción de elementos de una clase. Aquí estamos suponiendo que existen tres clases
posibles

Muestra el valor de la ganancia versus la proporción de elementos de una clase. Aquí estamos suponiendo que existen dos clases posibles

6.Pregunta 6
¿Cómo se define la ganancia de información?

1 punto

La ganancia de información es la forma de elegir que variable elegir a la hora de separar en el árbol de decisión

La ganancia de información es la reducción esperada en entropía al separar según cierto atributo

p*log(p)
Mide el grado de homogeneidad de un conjunto de datos

7.Pregunta 7
Observe la siguiente tabla. ¿Cuál de las siguientes variables entrega una mayor ganancia de información?

Nombre Género Edad Rango Sueldo Clase

Carlos H 23 < $250 1

Daniela M 31 $500 - $750 2

Nicolás H 45 > $750 1

Karim H 32 > $750 1

Javiera M 17 $250 - $500 2

2 puntos

Género

Edad
Rango Sueldo

No se puede saber a priori, hay que hacer cálculos mátematicos

8.Pregunta 8
¿Cuál/es es/son el/los principal/es problema/s de sobre entrenar o producir overfitting en nuestros algoritmos? Marque la/s alternativa/s
correcta/s.

2 puntos

Nuestro modelo es capaz de generalizar mejor

El sobre entrenamiento haría que nuestro modelo se ajuste también a esos errores

Perdemos capacidad de generalización

Nuestro modelo se ajusta excelente a los datos de entrenamiento lo cual produce un mejor modelo en la práctica
MODELOS DE CLASIFICACIÓN.

[MÚSICA] Bienvenidos a un nuevo video en nuestro curso de minería de datos. 


En este video veremos cómo evaluar nuestros modelos de clasificación.
Play video starting at 14 seconds and follow transcript0:14
Lo que principalmente nos motiva en este video es entender cómo deberíamos diseñar 
un proceso de evaluación del rendimiento de nuestros modelos de clasificación, 
de tal forma de tener indicadores que reflejen aproximadamente cuán bien 
funcionará nuestro modelo una vez que sea puesto en producción.
Play video starting at 36 seconds and follow transcript0:36
Recordemos que hasta ahora hemos visto dos modelos de clasificación, 
el modelo de vecinos cercanos y el de árboles de decisión.
Play video starting at 46 seconds and follow transcript0:46
Supongamos que tenemos you entrenado un árbol de decisión que 
clasifica clientes entre las clases ocasional y frecuente.
Play video starting at 55 seconds and follow transcript0:55
El principal objetivo es que nuestro modelo clasifique bien a clientes que 
verá en el futuro, 
es decir, clientes que nuestro modelo no vio durante el proceso de entrenamiento.
Play video starting at 1 minute 6 seconds and follow transcript1:06
La principal razón de esto, es que para los clientes en casos futuros, 
no conocemos su clase, por lo tanto, nos interesa que el modelo sea capaz 
de predecir la clase con la mayor exactitud posible, 
you que nuestra organización tomaría decisiones importantes, 
dependiendo de la clase de cada uno de esos clientes.
Play video starting at 1 minute 29 seconds and follow transcript1:29
Supongamos que nuestro modelo genera una clasificación para un cliente nuevo. 
En este ejemplo, 
nuestro modelo nos dice que el cliente pertenece a la clase ocasional. 
¿Cómo podemos saber si el modelo dijo lo correcto o si cometió un error?
Play video starting at 1 minute 46 seconds and follow transcript1:46
Lamentablemente, no lo podemos saber, 
you que no conocemos la clase real a la cual pertenece este cliente.
Play video starting at 1 minute 54 seconds and follow transcript1:54
Afortunadamente, tenemos una salida. 
Lo que se hace es simular casos futuros, 
dejando afuera algunos de nuestros datos de entrenamiento. 
Por ejemplo, si en este caso dejamos afuera a nuestra cliente que aparece al 
lado derecho de la lista de clientes y entrenamos a nuestro árbol de decisión 
solo con los clientes que aparecen al lado izquierdo, luego, 
podemos pedir al modelo que clasifique a esta cliente que dejamos afuera. 
El modelo nunca vio a esta cliente, 
you que la sacamos del conjunto de entrenamiento. 
Además, para esta cliente nosotros sí sabemos su clase, por lo tanto, 
sí podemos comparar la predicción del clasificador con la clase real.
Play video starting at 2 minutes 42 seconds and follow transcript2:42
La idea, entonces, es dividir nuestro conjunto de datos de entrenamiento en dos 
partes, una con los datos que usaremos para entrenar el modelo, 
llamado set de entrenamiento, y otra
Play video starting at 2 minutes 55 seconds and follow transcript2:55
con los datos que solo usaremos para evaluar el modelo, llamado set de testeo. 
Típicamente, esta división de nuestra base de datos asigna un 20 o 30% a la 
parte del set de testeo y un 80 o 70% para el set de entrenamiento, respectivamente.
Play video starting at 3 minutes 15 seconds and follow transcript3:15
Hay varias formas de generar esta división, 
principalmente tienen que ver con tratar de probar distintas separaciones para 
asegurarnos de que la selección de datos para testeo esté lo menos sesgada posible. 
Más adelante, veremos en detalle en qué consisten 
estas técnicas para dividir los datos, las más conocidas son Hold Out, 
Random Sub-Sampling y Cross Validation o Validación Cruzada.
Play video starting at 3 minutes 42 seconds and follow transcript3:42
Una vez que logramos separar, entonces, 
nuestros datos en un set de entrenamiento y uno de test, 
entrenamos nuestro clasificador solamente usando nuestro set de entrenamiento.
Play video starting at 3 minutes 54 seconds and follow transcript3:54
Luego, usamos el modelo entrenado para generar una clasificación 
para todos los datos que están solo en el set de test.
Play video starting at 4 minutes 4 seconds and follow transcript4:04
Finalmente, comparamos las clases reales de los datos del set de test con las 
clases que nuestro clasificador generó, y las comparamos directamente.
Play video starting at 4 minutes 18 seconds and follow transcript4:18
Al realizar esta comparación entre las clases reales y las clases que predice el 
modelo, tenemos que entregar indicadores que reflejen 
cuán parecidas fueron las predicciones con la clase real.
Play video starting at 4 minutes 32 seconds and follow transcript4:32
Estos indicadores también los veremos más adelante, 
los más típicos son Accuracy, Recall y Precisión.
Play video starting at 4 minutes 43 seconds and follow transcript4:43
En resumen, entonces, para evaluar nuestro modelo de clasificación, primero debemos 
dividir nuestros datos en un conjunto de entrenamiento y uno de testeo. 
Luego, debemos entrenar nuestro modelo solo con los datos de entrenamiento. 
El siguiente paso es pedir a nuestro modelo que clasifique los datos del set de 
test y, finalmente, comparamos directamente la clasificación con el valor 
de la clase real de esos datos, generando así los indicadores de rendimiento.
Play video starting at 5 minutes 12 seconds and follow transcript5:12
En este video vimos el esquema general 
para evaluar el rendimiento de un clasificador.
Play video starting at 5 minutes 18 seconds and follow transcript5:18
No debemos olvidar que el rendimiento que estamos 
estimando corresponde al rendimiento que nuestro modelo tendría en casos futuros,
Play video starting at 5 minutes 28 seconds and follow transcript5:28
casos que no ha visto durante el set de entrenamiento. 
[AUDIO_EN_BLANCO]
LA EVALUACIÓN DE CLASIFICADORES, 
[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de minería de datos. 
En este video continuaremos con la evaluación de clasificadores, 
en particular entraremos en más detalle sobre los tópicos mencionados en el 
video anterior. 
Lo que nos motiva en este video es aprender más detalles sobre las 
distintas técnicas para dividir nuestros datos para entrenamiento y testeo.
Play video starting at 28 seconds and follow transcript0:28
Recordando el esquema general, lo que aprenderemos en este video corresponde 
a lo que está en el círculo rojo.
Play video starting at 36 seconds and follow transcript0:36
La idea es dividir nuestros datos etiquetados en una parte para entrenar 
y en otra parte para testear, el modelo de clasificación que se usará 
para estimar el rendimiento se construye solo a partir del set de entrenamiento.
Play video starting at 51 seconds and follow transcript0:51
Luego, le pedimos a nuestro modelo que clasifique los datos que corresponden 
al set de testeo para así comparar las predicciones con la clase real.
Play video starting at 1 minute 2 seconds and follow transcript1:02
Veremos entonces en detalles tres formas distintas para dividir nuestros datos 
etiquetados, hold out, random sub-sampling y k-fold cross validation. 
Hold out es el método más sencillo, 
simplemente consta de separar nuestro set de datos etiquetados en dos partes, 
la primera para entrenar el algoritmo y la segunda para testearlo. 
Típicamente la parte de entrenamiento contiene un 70 u 80% del tamaño de 
nuestros datos mientras que la parte de testeo contiene el resto.
Play video starting at 1 minute 37 seconds and follow transcript1:37
En la imagen vemos un esquema que nos muestra que entrenaremos nuestro modelo 
con n uno y lo usaremos para clasificar los datos de n dos.
Play video starting at 1 minute 47 seconds and follow transcript1:47
Algo importante que mencionar, 
es que el modelo que usamos para conseguir nuestros indicadores de rendimiento 
no necesariamente es el mismo modelo que pondremos en producción.
Play video starting at 1 minute 59 seconds and follow transcript1:59
Típicamente, el modelo que ponemos en producción se entrena con todos los datos 
que tenemos etiquetados, para así lograr un entrenamiento con la mayor 
cantidad de información posible, este proceso es solo para 
estimar indicadores de rendimiento del modelo en producción para casos futuros.
Play video starting at 2 minutes 21 seconds and follow transcript2:21
Otra consideración muy importante a la hora de generar la separación entre el 
entrenamiento y el testeo, 
es que cada parte debe mantener las mismas proporciones de elementos de cada clase. 
Por ejemplo, si tenemos tres clases posibles donde la cantidad de elementos de 
cada clase es distinta, esas cantidades deben mantenerse proporcionalmente 
en cada parte del entrenamiento, también en la parte de testeo.
Play video starting at 2 minutes 48 seconds and follow transcript2:48
En la figura vemos en colores las proporciones de cada clase, 
vemos entonces que las proporciones de datos que teníamos 
desde un principio de nuestra base de datos etiquetados 
se mantiene igual en el set de entrenamiento y en el set de testeo.
Play video starting at 3 minutes 3 seconds and follow transcript3:03
Una de las desventajas del método hold out, 
es que puede ser que justo hayamos seleccionado un conjunto de testeo muy 
fácil o quizás muy difícil o también puede ser que justo hayamos seleccionado 
como set de entrenamiento una proporción muy sesgada de nuestros datos etiquetados.
Play video starting at 3 minutes 21 seconds and follow transcript3:21
Justamente para evitar este tipo de problemas el ideal es repetir el método 
hold out varias veces, esto corresponde al método random sub-sampling, 
así generamos más aleatoriedad en el proceso, disminuyendo la probabilidad 
de seleccionar partes muy sesgadas para el entrenamiento o para el testeo.
Play video starting at 3 minutes 42 seconds and follow transcript3:42
Como resultado del proceso random sub-sampling, se generan b nuevas columnas 
con las respectivas predicciones de cada uno de los b modelos entrenados. 
El método k-fold cross validation, es en general el más utilizado en la práctica, 
la idea es asegurar que todos los datos de nuestra base de datos etiquetados 
han sido parte del set de entrenamiento y también del set de testeo.
Play video starting at 4 minutes 12 seconds and follow transcript4:12
Procedemos a particionar los datos en cada partes o folds,
Play video starting at 4 minutes 17 seconds and follow transcript4:17
como es una partición, la intersección entre los folds es vacía y además 
la unión de ellos forma nuestra base de datos etiquetados inicial.
Play video starting at 4 minutes 27 seconds and follow transcript4:27
El proceso itera k veces, la iteración i, entrenamos el clasificador con todos 
los folds menos el fold i y usamos el modelo para predecir la clase del fold i, 
entonces, en la iteración uno dejamos el fold uno a fuera y entrenamos con 
los folds desde el dos hasta el k, en la iteración dos, 
dejamos el fold dos afuera y entrenamos con el resto de los folds. 
Usamos entonces el modelo entrenado para etiquetar los datos del fold dos,
Play video starting at 4 minutes 56 seconds and follow transcript4:56
y así sucesivamente hasta llegar al fold k.
Play video starting at 5 minutes 0 seconds and follow transcript5:00
Como resultado del proceso obtenemos para todos nuestros datos etiquetados 
una columna nueva con la predicción hecha por cada modelo, 
en la figura representamos esta columna con el color naranjo. 
En el siguiente video veremos cómo utilizaremos todas esas columnas 
para generar indicadores de rendimiento.
Play video starting at 5 minutes 21 seconds and follow transcript5:21
No olvidar que al igual que en los métodos anteriores también tenemos que 
preocuparnos en el k-fold cross validation de mantener las mismas proporciones de 
datos para cada clase en cada uno de los folds, si no lo hacemos podría ocurrir 
que algunos folds queden sin elementos de alguna clase, generando que algunos 
modelos se entrenen sin haber visto ningún dato en alguna clase en particular.
Play video starting at 5 minutes 46 seconds and follow transcript5:46
Un caso particular del método k-fold cross validation es cuando tenemos 
un fold por cada dato de nuestro set de datos etiquetados, 
así si por ejemplo tenemos 100 datos habrían 100 folds, 
tendríamos que iterar 100 veces dejando en cada iteración solo un dato afuera, 
este proceso se llama leave-one put cross validation, se utiliza cuando tenemos 
suficientes recursos computacionales you que obviamente es mucho más costoso
Play video starting at 6 minutes 15 seconds and follow transcript6:15
que comparándolo con el método para valores menores en k. 
Una vez que tenemos listas las particiones que contienen la predicción del modelo y 
la clase real, procedemos a juntarlas en dos columnas grandes para luego 
calcular los indicadores de rendimiento que veremos en el próximo video. 
Existen casos en que cada una de las particiones es lo suficientemente grande 
como para usar cada una por separado y luego sacar promedios y desviaciones 
estándar de los indicadores de rendimiento, pero en general, 
lo más utilizado es unir todas las particiones.
Play video starting at 6 minutes 53 seconds and follow transcript6:53
En este video vimos tres métodos distintos para realizar 
la división de nuestros datos etiquetados en entrenamiento y testeo.
Play video starting at 7 minutes 2 seconds and follow transcript7:02
Lo principal es asegurar la aleatoriedad y disminuir el riesgo de generar 
partes muy sesgadas para entrenar o para testear, vimos que es importante 
el muestreo estratificado para mantener la proporción de datos de cada clase. 
[AUDIO_EN_BLANCO]

INDICADORES DE RENDIMIENTO, 

[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de Minería de datos. 


En este video veremos cómo obtener los indicadores de rendimiento, 
una vez que you tenemos la columna de datos con la clase real 
y la columna con la predicción de la clase. 
Lo que nos motiva es aprender a comparar de forma correcta las columnas con la 
predicción y la clase real, de tal forma de obtener indicadores de rendimiento que 
reflejen la calidad del modelo para cuando este funcione con datos futuros.
Play video starting at 38 seconds and follow transcript0:38
Recordando el esquema general, lo que aprenderemos en este video corresponde 
a lo que está en el círculo rojo que vemos en la diapositiva.
Play video starting at 46 seconds and follow transcript0:46
Supongamos que tenemos una base de datos con clientes, existen dos clases posibles, 
frecuente y ocasional.
Play video starting at 55 seconds and follow transcript0:55
Supongamos que you ejecutamos el método de K-fold cross-validation y obtuvimos las 
columnas con la predicción de la clase.
Play video starting at 1 minute 5 seconds and follow transcript1:05
Supongamos que después del proceso de cross-validation obtenemos 
las predicciones que se ven en pantalla, 
para cada uno de nuestros clientes, marcamos en color rojo las 
predicciones que fueron incorrectas y en color verde las correctas.
Play video starting at 1 minute 20 seconds and follow transcript1:20
El siguiente paso es construir la matriz de confusión, 
esta matriz simplemente lleva el conteo de los casos posibles de errores 
que haya cometido el modelo, las filas indican la predicción del modelo, 
mientras que las columnas indican el valor real de la clase.
Play video starting at 1 minute 36 seconds and follow transcript1:36
Siguiendo con nuestro ejemplo, marcamos en colores cada uno de los posibles 
escenarios de comparación entre la clase que dice el modelo y la clase real. 
Por ejemplo, los casos verdes son las situaciones en que el modelo dijo que el 
dato pertenecía a la clase ocasional y la clase real era efectivamente ocasional. 
Los casos azules ocurren cuando el modelo generó una predicción 
para la clase frecuente, pero en realidad eran de la clase ocasional. 
Les recomiendo que se tomen un minuto y revisen que estén bien todos los números 
que aparecen en la matriz.
Play video starting at 2 minutes 13 seconds and follow transcript2:13
you estamos en condiciones de generalizar a una matriz donde tenemos 
T posibles clases. 
Vemos en la diapositiva cómo se vería la matriz de confusión, 
tendríamos T filas y T columnas, cada celda A sub i, 
j de la matriz lleva el conteo de casos en que el clasificador dijo 
que la clase era C sub i, pero en realidad era C sub j.
Play video starting at 2 minutes 38 seconds and follow transcript2:38
Estudiaremos tres indicadores de rendimiento, Accuracy, Recall y Precision.
Play video starting at 2 minutes 44 seconds and follow transcript2:44
El Accuracy es el más simple, y corresponde al número de casos en que el 
clasificador generó una predicción correcta, dividido por el total de casos. 
Mirando desde la matriz de confusión, simplemente sería la suma de los elementos 
de la diagonal, dividido por la suma del total de números dentro de la matriz.
Play video starting at 3 minutes 5 seconds and follow transcript3:05
Un problema de usar solo el Accuracy como indicador de rendimiento, 
es cuando tenemos cantidades desbalanceadas de casos en cada clase. 
Supongamos que tenemos dos clases posibles, A y B, 
y hay 10.000 casos de la clase A y solo 100 casos de la clase B. 
Si tenemos un clasificador tonto que siempre predice clase A, 
obtendría un Accuracy del 99%, you que A son la mayoría.
Play video starting at 3 minutes 29 seconds and follow transcript3:29
Obviamente no queremos que nuestro modelo funcione de esa forma, 
queremos detectarlo, detectar ese tipo de errores. 
Por lo tanto, una forma de resolver ese problema 
es tener indicadores separados por cada clase.
Play video starting at 3 minutes 41 seconds and follow transcript3:41
El Recall es un indicador relacionado con la capacidad de detectar la mayoría de los 
casos de una clase, corresponde al indicador que refleja de los 
casos que había que detectar de la clase i, ¿cuántos logró detectar? 
Vemos que corresponde al número de casos que hay en la posición i de la diagonal de 
la matriz de confusión, dividido por la suma de los casos de la columna i. 
Les recomiendo fuertemente que pausen el video y chequeen ustedes mismos 
la veracidad de esa fórmula.
Play video starting at 4 minutes 16 seconds and follow transcript4:16
Por otro lado, el indicador llamado Precision mide de los casos 
en que el clasificador dijo que el dato pertenecía a la clase C sub i, 
¿cuántos realmente pertenecían a la clase?
Play video starting at 4 minutes 31 seconds and follow transcript4:31
Volviendo a nuestra matriz de confusión, vemos que el indicador de Precision para 
la clase C sub i, se calcula como el número A sub i, 
i de la diagonal, dividido por la suma de los elementos de la fila i. 
Deben de nuevo pausar el video y analizar la fórmula, 
para que la puedan asimilar completamente. 
Existe un trade-off interesante entre Recall y Precision. 
Supongamos que tenemos un clasificador de manzanas, 
el modelo debe predecir para cada manzana si está añeja o no. 
Supongamos que tenemos un conjunto de datos etiquetados con manzanas añejas 
y no añejas, para cada manzana tenemos mediciones de su nivel de madurez en días. 
En la diapositiva vemos la distribución de las manzanas no añejas y añejas, 
según su nivel de madurez. 
La distribución de las manzanas añejas se ve en azul, 
las otras manzanas se ven en el histograma en color morado. 
La idea principal es no vender frutas añejas, por lo tanto, queremos que el 
clasificador no cometa el error de decir que una fruta es no añeja cuando sí lo es. 
En otras palabras, la precisión de la clase no añeja debe ser muy alta.
Play video starting at 5 minutes 48 seconds and follow transcript5:48
Vemos que eso nos hace pagar un precio en el Recall de la misma clase.
Play video starting at 5 minutes 54 seconds and follow transcript5:54
Supongamos que tenemos un clasificador que simplemente predice usando la línea roja. 
El clasificador dice que la clase es añeja si los días de madurez de la fruta están 
por el lado derecho de la línea 
y no añeja si los días de madurez están por el lado izquierdo de la misma línea.
Play video starting at 6 minutes 12 seconds and follow transcript6:12
Este clasificador está maximizando la precisión de la clase no añeja, 
pero paga un precio en el Recall de la misma clase. 
Esto es porque el clasificador se pierde de las frutas no añejas que están por 
el lado izquierdo de la línea traslapadas con las frutas de la clase añeja.
Play video starting at 6 minutes 32 seconds and follow transcript6:32
Las podemos ver marcadas con un círculo verde en la diapositiva.
Play video starting at 6 minutes 38 seconds and follow transcript6:38
En este video, vimos cómo calcular los indicadores de rendimiento, 
una vez que tenemos las columnas con las predicciones y las clases reales. 
Aprendimos a construir la matriz de confusión 
y también a calcular indicadores de Accuracy, Recall y Precision. 
También apreciamos el trade-off natural 
que existe entre esos dos últimos indicadores.

EJEMPLO DEL ALGORITMO VECINOS CERCANOS. 

[MÚSICA] Hola, 
bienvenidos a un nuevo video de ayudantía de nuestro curso de minería de datos. 
En este video, veremos un ejemplo del algoritmo vecinos cercanos. 
El objetivo principal de este video es aplicar el algoritmo que antes mencioné, 
que se llama vecinos cercanos, sobre imágenes en escala de grises. 
Estas imágenes contienen números del cero al nueve, hechos a mano, la idea es 
crear un algoritmo capaz de reconocer o clasificar entre estos diez dígitos. 
Primero que todo, 
me gustaría recordar un poco de qué se trata el algoritmo de vecinos cercanos. 
Como se vio hace un par de semanas, este consiste en colocar nuestros datos en un 
espacio N-dimensional, donde N corresponde a la cantidad de variables que tenemos. 
En este caso, tenemos 18 instancias en un espacio de dos dimensiones, 
nueve son de la clase uno y nueve de la clase dos. 
Para clasificar un dato nuevo, como se ve en pantalla, o una nueva instancia, 
lo que hacemos es colocarlo en este espacio de dos dimensiones. 
Luego, calculamos la distancia que existe entre este nuevo dato y los 18 anteriores. 
Si usamos solo un vecino cercano, 
nos quedamos con la clase del vecino que esté más cerca. 
En este caso, el más cercano a nuestro dato es el que está con un círculo verde, 
en pantalla, y corresponde a la clase uno. 
Otro caso consistiría en usar más vecinos, como por ejemplo, siete. 
En este caso, nuestro dato corresponderá al con mayor frecuencia. 
Viendo nuevamente nuestro ejemplo en pantalla, 
seis predicen que es de la clase uno y uno que es de la clase dos, 
por lo que nuestro dato lo catalogamos como de la clase uno, al ser la mayoría. 
Habiendo recordado de qué se trataba el algoritmo visto en clases, 
veremos un ejemplo real, extraído de Kaggle. 
Como les había mencionado anteriormente al inicio de este video, 
utilizaremos una base de datos real, 
la cual cuenta con imágenes en escala de grises con los valores del cero al nueve. 
Nuestro clasificador debe ser capaz de ver estas imágenes y predecir cuál es el 
valor de esta. 
Como bien recordarán, una imagen consiste en varios píxeles y para usar el 
algoritmo de vecinos cercanos se necesitan de N dimensiones. 
En este caso, usaremos la cantidad total de píxeles como las variables para 
el modelo, los cuales serían aproximadamente 
O:784 píxeles, lo cual corresponde a 28 x 28. 
Intuitivamente, lo que estamos haciendo es comparar pixel por pixel en las imágenes 
que tenemos, y las que son parecidas deberían tener coloreado en la misma zona. 
En este caso, por ejemplo, el cuatro de la izquierda es bien parecido al cuatro de la 
derecha en varias partes de la imagen, lo cual, nuestro algoritmo 
debe ser capaz de predecir y predecir correctamente que es el número cuatro. 
Como les mencionamos anteriormente en este video, lo que intentaremos hacer o lo que 
realizaremos es un algoritmo para reconocer dígitos en una imagen. 
Para esto, primero que todo, bajaremos la base de datos, 
utilizando la plataforma Kaggel. 
La plataforma Kaggel, como se les mencionó la primera vez de ayudantía, 
consiste en una plataforma donde podemos encontrar distintos data sets públicos, 
y en la cual existen competencias donde grupos o grupos de personas 
compiten por tener el mejor accuracy y el mejor modelo. 
En este caso, trabajaremos con la base de datos llamada Digit Recognizer, 
la cual puede ser descargada de forma gratuita, 
lo único que necesitamos es una cuenta, la cual se puede crear de manera fácil. 
Esta consiste de dos bases de datos, una de training y otra de testing, 
pero para este ejercicio debido a que RapidMiner solo es capaz de 
usar de 10.000 filas con la licencia gratuita, 
usaremos solo el training de data set. 
Lo descargamos, cosa que yo you lo tengo acá, 
lo tengo you en mi computador y lo que 
tenés que hacer es reducir el tamaño de este data set a solo 10.000 filas. 
Una vez que tienen eso you preprocesado, 
pasamos directamente a nuestra plataforma de RapidMiner. 
Lo primero que haremos será agregar el dato, 
es por esto nos que iremos a Add Data, My Computer. 
Buscaremos el archivo para poder agregarlo. 
[SONIDO] Apretamos en next y nuevamente en next, debido a que se procesó bien. 
En esta parte, tenemos que formatear las columnas, esto es algo que no habían visto 
en la primera videoayudantía, debido a que no era necesario la clasificación. 
A RapidMiner debemos decirle cuál de estas columnas corresponde a la clase. 
En este caso, la primera columna, la que tiene label, corresponde al número de la 
imagen, es por esto que le cambiaremos el rol a la columna. 
Change Role y pondremos el rol de label. 
Además de esto, RapidMiner no es capaz de trabajar con integers, 
que son números enteros, sino que trabaja con palabras, es decir, 
tenemos que cambiar el tipo de la columna, en este caso, polinominal. 
Apretamos nuevamente en next y la guardamos. 
Yo you lo tengo guardado, debido a que se demora aproximadamente unos 30, 
40 segundos en cargar. 
Una vez que lo tengan cargado en su RapidMiner, 
procederemos a realizar el algoritmo. 
Primero que todo, moveremos la base de datos en Ambers a la 
ventana de procesos y agregaremos los siguientes operadores. 
El primer operador será Normalize, el cual nos permite poder normalizar cada columna. 
Si bien estas columnas se encuentran entre cero y uno, podríamos decir que you está 
normalizado para el tema de la distancia, siempre es bueno normalizar. 
Una vez normalizada nuestra columna, procederemos a crear un 
training set y un testing set, para esto utilizaremos el bloque llamado Split It, 
el cual nos permite dividir nuestra base de datos en dos. 
Y vemos en los parámetros y apretaremos en Edit Enumeration. 
Agregaremos una entrada, le pondremos 70% y 30% para el testing. 
Una vez agregado nuestro Split Data, procederemos a agregar al operador y 
también a la métrica de evaluación. 
El operador se llama K-NN, de vecinos cercanos, y se encuentra en verde. 
Si se fijan, 
RapidMiner automáticamente tiene distintos colores para las distintas etapas. 
Los colores en verde corresponden a los modelos, 
los colores en un morado más claro corresponden al 
preprocesamiento y los morados corresponden a los datos mismos. 
Conectamos la salida exa con la entrada exa de Split Data y el par con la 
entrada de atrás. 
Esto, una vez que tenemos el modelo K-NN, 
este bloque nos entrega un modelo, Mod modelo. 
Incluso si hacen click derecho y seleccionan en Show brighter info, 
les va a salir que es model. 
Agregamos, tenemos que aplicar nuestro modelo, 
para esto usaremos el bloque Apply Model, 
el cual nos permite poder agregar este modelo en datos no antes vistos. 
Conectamos la salida mod con la entrada mod y la salida par, 
que corresponde a nuestro testing con nuestra entrada de Apply Model. 
Este operador lo que nos generará es una nueva base de datos, 
la misma que teníamos anteriormente con una columna extra, 
que es la columna predecida para cada una de estas filas. 
Por último, agregaremos el bloque llamado Performance, 
el cual nos permitirá poder medir el performance de nuestro clasificador. 
Conectamos la salida lab con la entrada lab y la salida per a la entrada res. 
Una vez que tenemos todo conectado, podemos proceder a apretar Run. 
Es importante recalcar que en estos momentos estamos usando un vecino cercano, 
y cambiaremos la distancia a una distancia euclidiana. 
Cuando le aprieten Run se va a demorar un poco más, 
debido a que estamos trabajando con 30 megabytes. 
Es por esto que veremos distintos resultados, 
que you los tengo preprocesados. 
En esta segunda parte del video, lo que les quiero mostrar es que los distintos 
parámetros pueden ir cambiando y también el Performance de nuestro modelo. 
En este caso, vamos a usar dos medidas de distancia, 
la distancia euclidiana y la distancia Manhattan. 
Para esto nos vamos al operador K-NN, 
el cual cuenta con estos mismos parámetros y vamos a ir modificando. 
Lo que vamos a intentar es modificar el parámetro K, 
que es la cantidad de vecinos cercanos, vamos a poner uno, tres y siete. 
Y vamos a cambiar también la medida de distancia, Numerical measures, 
vamos a probar la medida de Manhattan y la distancia euclidiana. 
Como bien les mencioné anteriormente, 
estos resultados pueden tomar su tiempo dependiendo del computador, es por esto 
que yo you los tengo preprocesados y es a lo que pasaremos a continuación. 
Como pueden ver, acá 
encuentran las dos matrices de confusión, tanto en la distancia euclidiana 
con un vecino cercano, como en la distancia Manhattan con un vecino cercano. 
En ambos casos vemos que el accuracy promedio de la distancia Manhattan con un 
vecino cercano es superior a la distancia euclidiana. 
Pero aún así ambos clasificadores fueron bastante buenos. 
Usando tres vecinos cercanos, vemos claramente, nuevamente que la distancia 
Manhattan mejora el performance, superando aún más a la distancia euclidiana. 
Y por último, con siete vecinos cercanos, 
nuevamente la distancia Manhattan también es superior a la distancia euclidiana. 
Como en una matriz de confusión, las filas, 
tenemos el Precision y tenemos el Recall. 
En este video, vimos cómo aplicar el algoritmo de vecinos cercanos, 
usando el programa de RapidMiner. 
Logramos clasificar correctamente las imágenes de dígitos, 
con un rendimiento superior al 90%. 
Además, usamos una variante de algoritmo, como lo es la distancia utilizada, 
esta última puede ser crítica para el rendimiento de nuestro clasificador 
y es recomendable probar más de una que haga sentido con el problema. 
Eso ha sido todo por hoy, y espero verlos pronto en el siguiente video, 
en donde aplicaremos el algoritmo de árbol de decisión. 
[AUDIO_EN_BLANCO]
PUNTOS TOTALES DE 10

1.Pregunta 1 mal
¿Por qué se tiene que separar el set de datos en grupos para entrenar y para testear?

1 punto

Para acelerar el proceso de entrenamiento

Para simular casos futuros

Para forzar sobre ajuste

Para aumentar el accuracy en el set de entrenamiento

2.Pregunta 2 mal
¿En qué consiste el método “Hold Out”?

1 punto

Entrenar un modelo con una porción de los datos y probarlo con datos que el modelo no ha visto

Separar el set de datos en K folds y testear en cada uno por separado


Separar un elemento para testear y entrenar con el resto del set de datos

Separar el set de entrenamiento en diez partes y entrenar en cada parte por separado

3.Pregunta 3
¿Por qué es bueno realizar muestreo estratificado a la hora de separar los sets de entrenamiento y testeo?

2 puntos

Para entrenar un modelo mucho más rápido

Para tener la misma cantidad de datos y variables

Para encontrar la mejor combinación de para ́metros del modelo

Para entrenar un modelo con proporción de clases similar al dataset completo

4.Pregunta 4 mal
¿Cuál es la ventaja del método “K-Fold Cross Validation”?

1 punto

Entrenar un mismo modelo en distintas particiones y así tener resultados más robustos
Es el método más rápido para entrenar un modelo

Mejora el rendimiento del clasificador en bases de datos grandes

Facilita la interpretación de los resultados

5.Pregunta 5 mal
Para una matriz de confusión de 3×3 no normalizada, ¿qué representa el elemento 2, 1 (fila 2, columna 1)?

Real
1 2 3
1
Predecido 2 X
3
1 punto

El recall de la clase 2

El número de veces que se clasificó correctamente la clase 1

La cantidad de veces se clasificó a la clase 2 como clase 1


El número de veces que se clasificó incorrectamente la clase 1 como de la clase 2

6.Pregunta 6
¿Qué es el recall de la clase "i"?

1 punto

De los casos en que el clasificador dijo que era de la clase "i", ¿cuántos realmente eran?

De los elementos que el clasificador tenía que detectar de la clase “i”, cuántos realmente detectó

Número de casos en que el clasificador generó una predicción correcta partido por el total de casos

De los elementos que el clasificador tenía que detectar de la clase “j”, cuántos realmente detectó

7.Pregunta 7
¿Qué significa la precision de la clase "i"?

1 punto

Número de casos en que el clasificador generó una predicción correcta partido por el total de casos

De los casos en que el clasificador dijo que era de la clase “i”, ¿cuántos realmente eran?
De los elementos que el clasificador tenía que detectar de la clase “i”, ¿cuántos realmente detectó?

De los casos en que el clasificador dijo que era de la clase “j”, ¿cuántos realmente eran?

8.Pregunta 8
Si tenemos un modelo de predicción de cáncer, donde si decimos que la persona tiene cáncer es porque realmente lo tiene. Equivocarnos
en el diagnóstico puede ser muy perjudicial para la clínica por decir cosas que no corresponden. En cambio, si una persona tenía cancer y
no se detectó, no es de suma importancia debido a que se realizan otras pruebas adicionales obligatorias. ¿Nos gustaría tener un
mejor recall o precision?

2 puntos

No debiésemos privilegiar uno sobre otro, ambos son igual de importantes

Precision

Recall

No influye, el modelo se dará cuenta de cual privilegiar

algoritmos de clustering.

[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de minería de datos. 


En este video, comenzaremos a ver un nuevo tópico, los algoritmos de clustering.
Play video starting at 15 seconds and follow transcript0:15
Lo que principalmente nos motiva es aprender 
qué son los algoritmos de clustering y para qué los podemos usar en la práctica.
Play video starting at 24 seconds and follow transcript0:24
Lo primero que debemos saber es que los métodos de clustering típicamente no 
contienen los datos etiquetados como en el caso de los algoritmos de clasificación.
Play video starting at 36 seconds and follow transcript0:36
Es por eso que las técnicas de clustering 
caen dentro de la familia de algoritmos de aprendizaje no supervisado.
Play video starting at 44 seconds and follow transcript0:44
Recordemos que cuando vimos los modelos de clasificación, como árboles de 
decisión o vecinos cercanos, asumíamos que existía una columna con la 
clase de cada dato, justamente la clase que los modelos tenían que predecir. 
En el clustering, esa no es la finalidad del algoritmo.
Play video starting at 1 minute 5 seconds and follow transcript1:05
El clustering corresponde a técnicas para encontrar grupos de datos que están juntos 
entre ellos y separados del resto.
Play video starting at 1 minute 14 seconds and follow transcript1:14
Por ejemplo, si queremos encontrar distintos grupos de clientes que se 
comportan de forma similar a la hora de realizar compras en nuestra tienda, 
estamos frente a un problema de clustering.
Play video starting at 1 minute 27 seconds and follow transcript1:27
En el mundo del retail, también es conocido como segmentación de clientes.
Play video starting at 1 minute 33 seconds and follow transcript1:33
También si nos interesa encontrar grupos de personas que pertenecen 
a una misma comunidad dentro de una red social, también sería una 
aplicación de la ejecución de algún algoritmo de clustering.
Play video starting at 1 minute 50 seconds and follow transcript1:50
Otro ejemplo es cuando necesitamos agrupar documentos de texto que 
hablan de un tópico similar dentro de una base de datos de millones de documentos.
Play video starting at 2 minutes 1 second and follow transcript2:01
En ese caso también es necesario ejecutar algún algoritmo de clustering 
para separar los documentos entre sí.
Play video starting at 2 minutes 10 seconds and follow transcript2:10
Lo que tienen en común los ejemplos mencionados anteriormente 
es que los datos no están rotulados o etiquetados. 
Los algoritmos deben encontrar la forma de separarlos directamente desde las 
variables que describen cada dato sin la ayuda de un set de entrenamiento.
Play video starting at 2 minutes 30 seconds and follow transcript2:30
Si vemos nuestros datos como un conjunto de puntos en un espacio de alguna 
dimensionalidad finita, por ejemplo, dos dimensiones, 
podemos tener algo como lo que se aprecia en la diapositiva.
Play video starting at 2 minutes 44 seconds and follow transcript2:44
Nosotros a simple vista podemos darnos cuenta de que existen cinco grupos de 
datos o clusters.
Play video starting at 2 minutes 53 seconds and follow transcript2:53
En la figura a continuación podemos verlos marcados con colores distintos.
Play video starting at 3 minutes 0 seconds and follow transcript3:00
Típicamente, los algoritmos que encuentran clusters están fuertemente basados 
en la métrica de distancia o similaridad definida para nuestros datos. 
De la misma forma que nos ocurrió cuando vimos el algoritmo de vecinos cercanos.
Play video starting at 3 minutes 19 seconds and follow transcript3:19
En este video entonces vimos la definición general de lo que es el clustering, 
mencionamos que corresponde a un tipo de aprendizaje no supervisado 
y que naturalmente requiere de una medida de similaridad. 
[AUDIO_EN_BLANCO]

algoritmo K-means. 

[MÚSICA] Bienvenidos al nuevo video de nuestro curso de Minería de Datos. 


En este video comentaremos sobre algunas consideraciones que tenemos que tener 
antes de ejecutar el algoritmo K-means. 
Lo que nos motiva en este video es aprender a asegurar lo más posible un 
resultado más cercano al correcto luego de ejecutar el algoritmo K-Means. 
La primera consideración que debemos tener es que el algoritmo no siempre converge 
al mismo resultado. 
Esto es porque la posición inicial de los centros es aleatoria.
Play video starting at 37 seconds and follow transcript0:37
Por ejemplo en algunos casos, 
algunos centros pueden quedar muy lejos de las masas de datos impidiendo 
que estos puedan actualizarse y moverse a las zonas de mayor densidad.
Play video starting at 53 seconds and follow transcript0:53
Una posible solución es ejecutar el algoritmo K-Means varias veces, 
de tal forma de reducir la probabilidad de que nos estemos 
quedando con un resultado de clustering muy extremo.
Play video starting at 1 minute 8 seconds and follow transcript1:08
También debemos considerar que el valor de k o número de clusters a encontrar 
obviamente es un factor clave en el resultado que vamos a obtener.
Play video starting at 1 minute 20 seconds and follow transcript1:20
Por ejemplo en la figura vemos un posible resultado de clustering con k igual a 2. 
Si ejecutamos k-means con los mismos datos pero seteando 
el valor de k en 5, llegamos a un resultado completamente diferente.
Play video starting at 1 minute 37 seconds and follow transcript1:37
Probablemente dejando separados puntos que quizás deberían aparecer como juntos.
Play video starting at 1 minute 44 seconds and follow transcript1:44
En este caso también una potencial solución es ejecutar el algoritmo k-means 
varias veces, cambiando el valor de k y analizando los resultados. 
Típicamente se toman algunos pares de puntos para los cuales tengamos 
una idea de si deberían estar en el mismo grupo o si deberían estar separados. 
Si el resultado de k-means deja separados a puntos que sabemos que deberían 
estar juntos, es muy probable que el valor de k sea muy alto. 
También si vemos que la mayoría de los clusters tienen muy pocos puntos, 
es un indicador de que deberíamos disminuir el valor de k. 
Dado que k-means depende fuertemente de la medida de distancia, 
es importante asegurarnos de que en la distancia euclidiana no están participando 
variables que no son importantes a la hora de comparar los datos. 
Eso metería ruido en el cálculo de los centros más cercanos 
y en la actualización de los mismos.
Play video starting at 2 minutes 44 seconds and follow transcript2:44
No debemos olvidar que cuando la nueva posición de los centros 
coincide con el promedio de los puntos que pertenecen a un cluster, 
estamos asumiendo que la distancia utilizada es euclidiana. 
En casos de que utilicemos otra medida de distancia 
debemos calcular los centros nuevos como el punto que minimiza la 
suma de las distancias de todos los puntos del cluster hacia él. 
Hay varias variantes del algoritmo k-means 
justamente relacionadas con este tipo de modificaciones.
Play video starting at 3 minutes 19 seconds and follow transcript3:19
En este video vimos varias consideraciones que tenemos que tener 
a la hora de utilizar el algoritmo k-means. 
Aprendimos a que es necesario ejecutar más de una vez el algoritmo 
principalmente porque los centros iniciales son generados aleatoriamente.
Play video starting at 3 minutes 37 seconds and follow transcript3:37
También vimos que es importante variar el valor de k 
para tener una idea del número más apropiado de centros.
Play video starting at 3 minutes 45 seconds and follow transcript3:45
Además mencionamos que la medida de distancia 
va de la mano con la forma en que se actualizan los centros 
de tal forma de asegurar el funcionamiento correcto del algoritmo.

[SONIDO] Bienvenidos a un nuevo video de nuestro curso de Minería de Datos. 


En este video veremos nuestro primer algoritmo de clustering, 
el algoritmo k-means. 
Lo que principalmente nos motiva en este video, 
es aprender en detalle cómo funciona el algoritmo k-means. 
El cuál consiste en encontrar grupos de datos similares o clusters.

Play video starting at 28 seconds and follow transcript0:28


Supongamos que tenemos la base de datos en dos variables como se muestra 
en la figura.

Play video starting at 34 seconds and follow transcript0:34


Lo primero es decidir cuál será el valor de k, 
es decir cuántos clusters queremos encontrar. 
Lamentablemente este valor es un parámetro del algoritmo 
por lo tanto tenemos que decidirlo antes de la ejecución. 
En muchos casos no tenemos cómo saber cuál es el número de clusters.

Play video starting at 56 seconds and follow transcript0:56


Esa es una de las principales debilidades del algoritmo k-means. 
Una vez que decidimos el número de clusters, 
generamos k centros alatorios, los podemos ver en la figura con puntos rojos.

Play video starting at 1 minute 9 seconds and follow transcript1:09


Ahora, asignamos cada punto de la base de datos a su centro más cercano. 
En la figura lo visualizamos coloreando con el mismo 
color a los puntos que fueron asignados al mismo centro. 
Es decir, quedan en el mismo cluster.

Play video starting at 1 minute 26 seconds and follow transcript1:26


Dado que ahora los grupos se reconfiguraron, 
es posible que cada grupo encuentre un centro mejor que el anterior. 
Es decir actualizamos los centros de cada grupo. 
Cuando la métrica de distancia usada es la euclidiana, 
los centros de cada grupo coinciden con el promedio.

Play video starting at 1 minute 46 seconds and follow transcript1:46


Una vez que actaulizamos los centros, a cada grupo, 
se le re asigna su mejor centro you que como los centros cambiaron, es posible que 
ahora exista un centro mejor que el anterior para cada uno de los puntos.

Play video starting at 2 minutes 1 second and follow transcript2:01


Y así sucesivamente hasta que se genera la convergencia, 
es decir, hasta que los centros you no cambian de posición.

Play video starting at 2 minutes 11 seconds and follow transcript2:11


Vemos que el algoritmo k-means es un algoritmo iterativo, donde principalmente 
se itera entre dos pasos, la asignación de puntos a los centros más 
cercanos y la actualización de los centros una vez que se reasignan los puntos.

Play video starting at 2 minutes 28 seconds and follow transcript2:28


El término de la iteración del algoritmo ocurre cuando los centros 
you no cambian de posición en forma significativa. 
Por ejemplo podemos definir un delta muy pequeño y definir la convergencia 
del algoritmo cuando la posición de todos los centros 
cambie menos que ese delta previamente definido. 
Obviamente si los centros no cambian de forma significativa, 
tampoco cambiará las asignaciones de clusters para cada punto.

Play video starting at 2 minutes 58 seconds and follow transcript2:58


En este video vimos el algoritmo k-means. 
Debemos recordar que este método requiere definir a priori el número de clusters. 
Es un proceso que va iterando entre dos pasos principales. 
En el próximo video comentaremos sobre algunas consideraciones de ese algoritmo. 
[AUDIO_EN_BLANCO]

DEL ALGORITMO K-MEANS. 


[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de Minería de datos. 
En este video, tenemos un ejemplo completo de ejecución del Algoritmo K-Means. 
La motivación principal en este video es asegurar que logramos una comprensión 
adecuada de cómo opera el Algoritmo K-Means, 
de tal forma de quedar capacitados para tomar decisiones específicas de diseño en 
cualquier situación futura donde tengamos que aplicar este algoritmo en la práctica.
Play video starting at 33 seconds and follow transcript0:33
Supongamos que queremos realizar un clustering de la base de datos de Clientes 
que aparece en la diapositiva.
Play video starting at 42 seconds and follow transcript0:42
Tenemos en este ejemplo seis clientes descritos en tres variables, 
antigüedad en años, sueldo y gasto mensual. 
Recuerden que el clustering es un aprendizaje no supervisado, por lo tanto, 
no hay una columna con la clase de cada instancia.
Play video starting at 59 seconds and follow transcript0:59
Lo primero que debemos hacer es normalizar las variables, 
de tal forma que no existan sesgos indeseados en los cálculos de distancia.
Play video starting at 1 minute 9 seconds and follow transcript1:09
En pantalla vemos una visualización de los seis puntos de este ejemplo.
Play video starting at 1 minute 16 seconds and follow transcript1:16
Lo primero es definir el valor de K, 
es decir, el número de clusters que queremos encontrar. 
Supongamos que, en este caso, K es igual a 2. 
Ahora, nos queda la generación aleatoria de la posición inicial de los centros. 
Supongamos que los valores son los que aparecen en la tabla de la diapositiva.
Play video starting at 1 minute 37 seconds and follow transcript1:37
Vemos en pantalla con puntos rojos los centros que acabamos de definir.
Play video starting at 1 minute 42 seconds and follow transcript1:42
El siguiente paso es calcular la distancia de cada punto hacia los dos centros. 
Vamos a asumir distancia Euclidiana. 
En pantalla aparecen los valores de las distancias de cada punto 
hacia los dos centros posibles. 
Ahora debemos elegir para cada punto su centro más cercano, en este caso, 
marcamos con un círculo verde las distancias menores para cada punto. 
Por ejemplo, vemos que para Nicolás, María, Pedro y Juan, 
el centro más cercano es el 1, you que para cada uno de esos clientes la 
distancia de ellos hacia el Centro 1 fue menor que la distancia hacia el Centro 2.
Play video starting at 2 minutes 22 seconds and follow transcript2:22
you tenemos, entonces, los clusters de la primera iteración. 
El Cluster 1 está compuesto por Juan, Pedro, 
María y Nicolás; y el Cluster 2 está compuesto por Ángela y Carlos.
Play video starting at 2 minutes 36 seconds and follow transcript2:36
El siguiente paso es, para cada cluster, actualizar sus centros. 
Dado que estamos usando distancia Euclidiana, 
los centros de cada cluster simplemente se calculan como el promedio 
entre todos sus datos para cada una de las tres variables. 
El cálculo del nuevo centro para el Cluster 1 aparece en pantalla.
Play video starting at 2 minutes 58 seconds and follow transcript2:58
De la misma forma, actualizamos el centro del Cluster 2, calculando 
el promedio de los datos o clientes que forman actualmente ese cluster. 
El resultado aparece en pantalla.
Play video starting at 3 minutes 11 seconds and follow transcript3:11
Ahora, podemos visualizar la nueva posición de los centros en pantalla.
Play video starting at 3 minutes 16 seconds and follow transcript3:16
A modo de comparación, 
esta es la posición, era la posición de la iteración anterior. 
Volvamos a ver cómo cambiaron entonces. 
Ahora, dado que tenemos centros nuevos, tenemos que, para cada dato, 
ver nuevamente el centro más cercano 
y potencialmente reasignar los puntos a clusters distintos.
Play video starting at 3 minutes 39 seconds and follow transcript3:39
Volvemos a calcular las distancias desde cada uno de los puntos 
a los centros nuevos. 
Los valores aparecen en la pantalla. 
Marcamos con un círculo verde las distancias menores. 
Vemos que para Pedro, María y Nicolás, el Centro 1 es el más cercano; 
mientras que para Juan, Ángela y Carlos, el Centro 2 es el más cercano.
Play video starting at 4 minutes 3 seconds and follow transcript4:03
Asignamos, entonces, cada cliente a su centro más cercano. 
Los clusters nos quedan distribuidos según como aparece en pantalla.
Play video starting at 4 minutes 13 seconds and follow transcript4:13
Ahora, dado que cambiaron los clusters, tenemos que obtener nuevos centros.
Play video starting at 4 minutes 19 seconds and follow transcript4:19
Para el Cluster 1 actualizamos los centros a través del promedio 
de los clientes que quedaron en ese cluster.
Play video starting at 4 minutes 28 seconds and follow transcript4:28
Vemos en la diapositiva el punto resultante de este promedio.
Play video starting at 4 minutes 34 seconds and follow transcript4:34
Hacemos lo mismo para el Cluster 2. 
Se genera, entonces, el centro 0.81, 0.33 y 0.44. 
En la diapositiva, visualizamos los clusters actuales con sus 
respectivos centros actualizados representados por puntos rojos.
Play video starting at 4 minutes 53 seconds and follow transcript4:53
Para apreciar cómo se movieron los centros, 
aquí vemos una visualización con la posición anterior de los centros.
Play video starting at 5 minutes 2 seconds and follow transcript5:02
Y aquí volvemos a ver las posiciones actuales. 
Les recomiendo chequear que el cambio de posición de los centros les haga sentido.
Play video starting at 5 minutes 14 seconds and follow transcript5:14
Dado que los centros recién cambiaron, debemos volver a actualizar 
la asignación de cada cliente hacia los posibles centros nuevos.
Play video starting at 5 minutes 25 seconds and follow transcript5:25
Para ello, volvemos a calcular las distancias desde cada punto 
hacia estos centros. 
Los valores aparecen en pantalla.
Play video starting at 5 minutes 35 seconds and follow transcript5:35
Nuevamente, marcamos con verde las distancias menores. 
Vemos que, nuevamente, Pedro, 
María y Nicolás quedan asignados al Centro 1, y que Juan, 
Ángela y Carlos quedan asignados al Centro 2, es decir, los clusters no cambiaron.
Play video starting at 5 minutes 52 seconds and follow transcript5:52
Como los clusters no cambiaron, 
los centros tampoco van a cambiar; por lo tanto, el algoritmo converge.
Play video starting at 6 minutes 0 seconds and follow transcript6:00
Vemos en la imagen cómo quedan configurados finalmente los clusters.
Play video starting at 6 minutes 7 seconds and follow transcript6:07
En este video, vimos un ejemplo completo de ejecución del Algoritmo K-Means. 
Pudimos apreciar que es necesario iterar varias veces sobre la 
reasignación de puntos y actualización de centros hasta que ocurra la convergencia.
Play video starting at 6 minutes 23 seconds and follow transcript6:23
Esos dos pasos son los mismos que realiza 
un computador al ejecutar el Algoritmo K-Means sobre una base de datos real. 
[AUDIO_EN_BLANCO]

[MÚSICA] Bienvenidos a un nuevo video de nuestro curso de minería de datos. 


En este video, veremos un nuevo algoritmo de clustering. 
Lo que principalmente nos motiva en este video es aprender 
en qué consiste el clustering jerárquico-aglomerativo. 
Veremos que está basado en una idea bastante sencilla y que puede ser 
bastante útil en la práctica.
Play video starting at 30 seconds and follow transcript0:30
La idea principal del clustering jerárquico es que a partir de una medida 
de similaridad, se van juntando paso a paso los puntos más 
cercanos dentro de los datos, generando una jerarquía de resultados de clustering.
Play video starting at 47 seconds and follow transcript0:47
La idea es que en cada paso vamos juntando el par de clusters más cercano.
Play video starting at 55 seconds and follow transcript0:55
Veamos un ejemplo. 
Al comienzo, cada punto es un cluster. 
En el primer paso, juntamos los dos clusters más cercanos. 
Vemos en la figura que están marcados con un óvalo azul.
Play video starting at 1 minute 10 seconds and follow transcript1:10
Lo identificamos con el número 1. 
Ahora esos dos puntos pasan a forman un nuevo cluster.
Play video starting at 1 minute 18 seconds and follow transcript1:18
El siguiente paso es unir ahora los dos clusters más cercanos 
a partir del resultado del paso anterior.
Play video starting at 1 minute 25 seconds and follow transcript1:25
En la figura, correspondería al par de puntos que están unidos por un óvalo azul, 
identificado con el número dos. 
Y así, sucesivamente, vamos juntando el par de clusters más cercano.
Play video starting at 1 minute 38 seconds and follow transcript1:38
En el último paso, 
llegaremos inevitablemente a un solo cluster que contiene todos los datos, 
a menos que tengamos algún criterio para detener el algoritmo.
Play video starting at 1 minute 50 seconds and follow transcript1:50
Hay varios criterios que podemos usar para poder detener la ejecución.
Play video starting at 1 minute 56 seconds and follow transcript1:56
Uno puede ser que definamos un número mínimo de clusters 
al cual queremos llegar. 
Otra opción es definir un umbral de distancia máxima, de tal forma de no 
juntar pares de clusters que estén más alejados de esa distancia. 
También, una opción es fijar el número máximo de pasos que vamos a ejecutar. 
En general, todos estos criterios requieren de un entendimiento profundo 
de los datos que estamos analizando, 
you que cada uno de estos criterios será distinto para distintas bases de datos.
Play video starting at 2 minutes 31 seconds and follow transcript2:31
Además de los criterios de detención, necesitamos definir una medida de 
distancia entre clusters, you que desde el paso 2 en adelante, 
empiezan a aparecer clusters que contienen más de un punto. 
Entonces, tenemos que saber medir distancias entre grupos de puntos, 
es decir, clusters. 
Vamos a ver cuatro tipos de distancias entre clusters, conexión simple, 
conexión completa, distancia entre medias y distancia promedio entre pares.
Play video starting at 3 minutes 3 seconds and follow transcript3:03
La conexión simple asume que la distancia entre dos clusters 
se calcula de la siguiente forma.
Play video starting at 3 minutes 10 seconds and follow transcript3:10
Calculamos la distancia entre todos los pares de puntos posibles 
desde los dos clusters y elegimos la mínima.
Play video starting at 3 minutes 18 seconds and follow transcript3:18
En la figura vemos un ejemplo. 
Se puede apreciar que la conexión simple es la distancia que tienen los puntos 
más cercanos entre los dos clusters y corresponden a los puntos verdes.
Play video starting at 3 minutes 32 seconds and follow transcript3:32
La conexión completa es la opuesta a la conexión simple, 
asume que la distancia entre dos clusters 
se calcula como la distancia entre los dos puntos más lejanos. 
En la figura podemos ver que corresponde a la distancia entre los puntos azules.
Play video starting at 3 minutes 52 seconds and follow transcript3:52
La distancia entre medias simplemente asume que la distancia entre dos clusters 
se calcula como la distancia entre las medias de cada uno.
Play video starting at 4 minutes 1 second and follow transcript4:01
En la figura vemos que las medias están marcadas con una X azul.
Play video starting at 4 minutes 7 seconds and follow transcript4:07
La distancia entonces entre los clusters 
C sub A y C sub B está dada por el tamaño de la flecha azul.
Play video starting at 4 minutes 16 seconds and follow transcript4:16
Finalmente, la distancia promedio entre pares corresponde al promedio 
entre todas las distancias que podemos obtener entre todos los pares de puntos.
Play video starting at 4 minutes 29 seconds and follow transcript4:29
El hecho de que el clustering jerárquico vaya uniendo en cada paso 
a los clusters más cercanos, nos permite generar una visualización del proceso.
Play video starting at 4 minutes 40 seconds and follow transcript4:40
Esta visualización se conoce como dendograma. 
Por ejemplo, si ejecutamos el algoritmo y en el primer paso juntamos el punto 
A con el B, luego en el siguiente paso juntamos el punto D con el E, 
luego juntamos en cluster DE con el punto C y, finalmente, 
juntamos el cluster DEC con el cluster AB, 
podemos visualizar todo el proceso con la imagen que aparece en la figura. 
Les aconsejo que pausen el video y comprueben los pasos que están 
relacionados con el dendograma que vemos en pantalla. 
En este video, aprendimos lo que es el clustering jerárquico-aglomerativo. 
Vimos que es necesario definir una medida de distancia entre clusters.
Play video starting at 5 minutes 25 seconds and follow transcript5:25
Obviamente que esta distancia asume que tenemos you una forma de medir 
distancias entre puntos.
Play video starting at 5 minutes 32 seconds and follow transcript5:32
Aquí, nuevamente, nos encontramos con la necesidad de tener una distancia bien 
elaborada, principalmente basada en las variables más 
importantes que describen los datos, para que el clustering tenga sentido.
Play video starting at 5 minutes 47 seconds and follow transcript5:47
No debemos olvidar que además necesitamos definir un criterio de 
detención del algoritmo, you que si bien este no necesita conocer el 
número de clusters como en el caso de [INAUDIBLE] tenemos un número 
de clusters distinto en cada paso del algoritmo jerárquico. 
En otras palabras, el número de clusters quedará definido por el 
criterio de detención que estemos usando. 
[AUDIO_EN_BLANCO]

CONOCIDO COMO DBSCAN.


[MÚSICA] Bienvenidos al nuevo video de nuestro curso de Minería de Datos. 
En este video veremos un nuevo algoritmo de clustering, conocido como DBSCAN.
Play video starting at 14 seconds and follow transcript0:14
Lo que principalmente nos motiva en este video 
es conocer un algoritmo que funciona de una forma completamente distinta 
al algoritmo K-Means y al algoritmo de clustering jerárquico.
Play video starting at 28 seconds and follow transcript0:28
Esto hace que DBSCAN pueda ser más adecuado que las 
técnicas revisadas anteriormente en algunos casos en la práctica.
Play video starting at 38 seconds and follow transcript0:38
DBSCAN es un algoritmo de clustering que está basado en la idea de conectar 
datos en el mismo cluster si estos están en una misma zona de densidad de datos. 
Este criterio genera clusters de formas arbitrarias, típicamente DBSCAN 
se usa para realizar clustering en mapas geográficos por ejemplo.
Play video starting at 1 minute 1 second and follow transcript1:01
Lo primero que debemos hacer es definir algunos conceptos. 
El primer concepto es el de core object, 
un dato corresponde a un core object si ocurre que tiene un número de vecinos 
que supera un umbral previamente definido dentro de un radio previamente definido. 
Vemos entonces que aquí you detectamos dos parámetros del algoritmo, el número 
mínimo de vecinos y el radio donde contaremos a estos potenciales vecinos. 
La intención detrás de esta definición es que un core object es un punto candidato 
a formar un cluster, you que está rodeado de vecinos a una distancia muy baja, 
en otras palabras, por una alta densidad de datos.
Play video starting at 1 minute 43 seconds and follow transcript1:43
Por ejemplo, supongamos que el mínimo número de vecinos es 3, 
en la figura vemos un punto marcado con una x, 
dado el radio r, ese punto tiene tres vecinos, por lo tanto, es un core object.
Play video starting at 2 minutes 0 seconds and follow transcript2:00
Ahora vemos un caso donde el punto z tiene solo dos vecinos dentro del radio r, 
por lo tanto, z no es un core object.
Play video starting at 2 minutes 10 seconds and follow transcript2:10
Podemos you intuir entonces que el algoritmo DBSCAN parte buscando dentro de 
la base de datos a todos los puntos que son core object, 
para así formar los clusters iniciales, en este caso, 
los mismos core objects y luego expandir estos clusters, como veremos luego. 
En la figura podemos chequear que los puntos m, p, o, j y r son 
efectivamente core objects, ahora el siguiente paso es expandir estos clusters. 
Otra definición que tenemos que ver es la siguiente. 
Diremos que un objeto h es directamente alcanzable por densidad desde otro 
objeto o, si es que h está dentro de la vecindad de o, 
definida por su radio r y además o es un core object. 
La figura muestra un esquema de la definición anterior. 
La intuición detrás de esta definición es que estamos viendo 
cuáles serán los objetos que un core object podrá juntar a su propio cluster. 
Los primeros objetos que cada core object podrá adjuntarse 
son los alcanzables directamente por densidad.
Play video starting at 3 minutes 18 seconds and follow transcript3:18
Otro paso natural del algoritmo será continuar la expansión de los clusters, 
es evidente entonces que el siguiente paso es que cada core object adjunte a su 
cluster a los puntos que son alcanzables desde los puntos que recién se adjuntó. 
Aquí tenemos otra definición, un objeto s es alcanzable indirectamente 
por densidad desde otro objeto o, si existe una secuencia de objetos 
donde cada objeto es directamente alcanzable por densidad desde la anterior. 
En la figura vemos que el objeto s es alcanzable 
desde o en forma indirecta a través de h, puesto que h es 
directamente alcanzable desde o y s es directamente alcanzable desde h. 
Es importante notar que los objetos intermedios que continúan la cadena 
de alcances deben ser todos core objects.
Play video starting at 4 minutes 11 seconds and follow transcript4:11
El proceso anterior da pie para una nueva definición. 
Vamos a decir que dos objetos, p y s, están conectados por densidad, 
si existe un objeto h, tal que p es alcanzable por densidad desde 
h y también s es alcanzable por densidad desde h.
Play video starting at 4 minutes 30 seconds and follow transcript4:30
Veamos un ejemplo entonces.
Play video starting at 4 minutes 33 seconds and follow transcript4:33
En los datos que aparecen en la figura,
Play video starting at 4 minutes 37 seconds and follow transcript4:37
supongamos que tenemos los core objects m, p, o, j y r, 
el radio de vecindad está marcado con azul y el mínimo de vecinos es 3, 
generamos primero un cluster por cada core object, los marcamos en colores.
Play video starting at 4 minutes 57 seconds and follow transcript4:57
El siguiente paso es expandir cada uno de los core objects 
adjuntando a cada uno de ellos los datos que son directamente alcanzables por 
densidad, marcamos en 
colores sólidos la asignación actual de los puntos a sus respectivos clusters.
Play video starting at 5 minutes 18 seconds and follow transcript5:18
Dado que m y p están conectados por densidad, 
ambos se fusionan en un mismo cluster, los marcamos todos en verde,
Play video starting at 5 minutes 29 seconds and follow transcript5:29
lo mismo hacemos con los clusters que corresponden a o, j y r.
Play video starting at 5 minutes 38 seconds and follow transcript5:38
Vemos con círculos punteados que no hay más vecindades que cumplan con el número 
mínimo de vecinos, por lo tanto, no se pueden alcanzar más puntos.
Play video starting at 5 minutes 48 seconds and follow transcript5:48
Dado que no quedan más puntos por alcanzar, you que no hay más core 
objects que puedan adjuntarse más datos, el algoritmo se detiene.
Play video starting at 6 minutes 1 second and follow transcript6:01
Vemos en colores entonces los clusters finales, los puntos rojos no pertenecen 
a ningún cluster, puede ser considerado como ruido que existe en los datos. 
[SONIDO] En este video entonces aprendimos cómo funciona el algoritmo DBSCAN. 
Debemos recordar que es una técnica basada en la densidad de los datos, 
esto hace que las formas de los clusters que encuentra se da directamente por las 
formas en que se distribuyen los puntos que generan las zonas de alta densidad. 
Dado esto, 
si tenemos datos donde existen clusters que tienen distintos grados de densidades 
entre sí, lo más probable es que DBSCAN no sea el algoritmo más apropiado. 
[AUDIO_EN_BLANCO]

Seleccione la alternativa verdadera con respecto a la comparación entre algoritmos de clustering y de clasificación

2 puntos
Clustering es un método no supervisado y los algoritmos de clasificación son supervisados

2.Pregunta 2
¿Cuándo se detiene la ejecución del algoritmo K-Means?

1 punto

Cuando los centros no se muevan dentro de una determinada tolerancia

3.Pregunta 3
¿Por qué conviene normalizar las variables antes de realizar K-Means?

1 punto

Para que variables con rangos mayores no dominen frente a variables con rangos menores

4.Pregunta 4
¿Cuál es la diferencia en la cantidad de clusters iniciales en K-Means y en el clustering jerárquico?

1 punto

En el primero son K clusters mientras que en el segundo es igual al número de puntos

5.Pregunta 5
¿Para qué sirve un dendrograma?

Representación gráfica la cual permite apreciar la agrupación de los datos por niveles.
6.Pregunta 6
¿Qué define la forma de los clusters en el algoritmo DBSCAN?

1 punto

La forma de las regiones de alta densidad

7.Pregunta 7
¿Cuál es la ventaja más importante del algoritmo DBSCAN?

1 punto

Encuentra clusters de formas arbitrarias

También podría gustarte