[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. 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. Supongamos que tenemos una base de datos con clientes, existen dos clases posibles, frecuente y ocasional. Supongamos que you ejecutamos el método de K-fold cross-validation y obtuvimos las columnas con la predicción de la clase. 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. 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. 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. 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. Estudiaremos tres indicadores de rendimiento, Accuracy, Recall y Precision. 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. 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. 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. 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. 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? 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. Vemos que eso nos hace pagar un precio en el Recall de la misma clase. 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. 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. Las podemos ver marcadas con un círculo verde en la diapositiva. 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.