Bernardo Campillo Soto Artificial Intelligence of Things, o cómo las cosas planean hacernos la vida más sencilla Al igual que en aquel cuento de los hermanos Grimm dos duendecillos se aliaron para ayudar al zapatero a tener una vida mejor, la inteligencia artificial y las tecnologías...
Paloma Recuero de los Santos Video Post #9: Analíticas Big Data, sí, pero ¿Cuáles? Sabemos que las analíticas avanzadas Big Data son imprescindibles para no perder la comba de la innovación digital. Lo que no tenemos tan claro es qué tipo de...
Ane Urain WiDS Datathon: Comienza el reto de analítica predictiva internacional En esta edición, el Women in Data Science (WiDS) llega con una novedad: una maratón de datos a nivel internacional, también premiado en España esta vez. El reto, que tendrá lugar...
Ane Urain Los 5 mejores posts en el blog LUCA Data Speaks 2017 Ha sido un gran año para LUCA. Doce meses de mucha ilusión y trabajo, que nos han permitido avanzar en nuestras iniciativas tecnológicas, aprovechando la infinidad de posibilidades que...
Alicia Martín Domingos Cómo optimizar la gestión de stock y almacenes ¿Alguna vez has visto cómo llega la mercancía a los almacenes de una tienda? Hace años, un operario descargaba la mercancía y con un listado en papel iba revisando...
LUCA Planificando la ubicación de un site de retail con los datos Una de las decisiones de negocio clave para cualquier marca es decidir dónde “establecer su tienda”. Esto implica la necesidad de conocer muy bien a los consumidores y su...
LUCA La nueva España: Redibujando el país con los datos de movilidad Uno de los campos más apasionantes que nos abre el uso de datos es el estudio de redes. Nuestras sociedades, comunicaciones, infraestructuras, negocios y muchos otros ámbitos de la...
LUCA Analizamos el perfil de turistas en España en colaboración con el INE El turismo es uno de los principales sectores de actividad económica en España. Según el Instituto Nacional de Estadística (INE), organismo autónomo dependiente del Ministerio de Economía, España recibió...
LUCA LUCA Talk: Big Data para orientarnos sobre el empleo del futuro Ante una transformación continua del mercado laboral, acelerada aún más con la crisis del COVID, la orientación profesional está adquiriendo un papel fundamental a la hora de preparar a...
LUCA Cómo solucionar tu problema de negocio con Big Data El Big Data es una realidad imperante en la mayoría de negocios y procesos en la actualidad, pero ¿conocemos realmente cómo aplicarlo en nuestro día a día? En este webinar,...
Paloma Recuero de los Santos Video Post #9: Analíticas Big Data, sí, pero ¿Cuáles? Sabemos que las analíticas avanzadas Big Data son imprescindibles para no perder la comba de la innovación digital. Lo que no tenemos tan claro es qué tipo de...
LUCA Talk: La importancia de la seguridad y aspectos legales en el gobierno de los datos. FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 3 de marzo, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite SOBRE QUÉ: Desde la Comisión Europea se está definiendo y escribiendo...
Machine Learning a tu alcance: La matriz de confusiónPaloma Recuero de los Santos 23 enero, 2018 La matriz de confusión y sus métricas asociadas son parte fundamental de la “Caja de herramientas” del científico de datos, ya que, para saber qué modelo funciona mejor para un determinado problema, necesitamos métricas o herramientas que nos ayuden a evaluarlo. Sin embargo, a pesar de su gran utilidad, es un concepto que de primeras resulta algo complejo. En este post lo explicaremos de forma clara y sencilla, con ejemplos, y en concreto, intentaremos que no haya margen de confusión con la terminología en inglés o español. ¿Qué es la matriz de confusión y para qué se utiliza? Recordemos que un modelo de clasificación es aquel capaz de predecir a qué clase va a pertenecer una nueva instancia, basándose en lo aprendido en instancias anteriores. Así, en un modelo binario, podemos considerar dos clases: “Positiva” y “Negativa”. Basándonos en datos históricos de nuestra base de clientes, por ejemplo, podremos construir un modelo que prediga si un cliente va a darse de baja (caso tipo de predicción de “churning”), o no. Para evaluar este modelo que hemos creado, podríamos simplemente calcular su exactitud (“accuracy”), como la proporción entre las predicciones correctas que ha hecho el modelo y el total de predicciones. Exactitud= (Predicciones correctas)/(Número total de Predicciones) Esta exactitud sería equivalente a restar el ratio de error de la unidad: 1- ratio de error. Sin embargo, aunque en ocasiones resulta práctico por su facilidad de cálculo, otras veces es necesario profundizar un poco más y tener en cuenta los tipos de predicciones correctas e incorrectas que realiza el clasificador. Es aquí donde entra en juego la Matriz de Confusion (“Confusion Matrix”). Definición de matriz de confusión. Como ya hemos indicado en la introducción, la matriz de confusión es un concepto muy útil, pero resulta algo complejo de entender (¡y de explicar!). Así que, si al principio no entiendes bien las definiciones que vamos dando, no te desanimes y sigue leyendo porque pondremos ejemplos que te ayudarán a comprenderlo mejor. La matriz de confusión de un problema de clase n es una matríz nxnen la que las filas se nombran según las clases reales y las columnas, según las clases previstas por el modelo. Sirve para mostrar de forma explícita cuándo una clase es confundida con otra. Por eso, permite trabajar de forma separada con distintos tipos de error. Por ejemplo, en un modelo binario que busque predecir si una seta es venenosa o no, basándose en determinadas características físicas de éstas consideraremos las clases reales p(ositivo= la seta es venenosa) y n(egativo=la seta es comestible), y las clases pronosticadas por el modelo, S(í, es venenosa), o N(o, es comestible). De esta forma, la matriz de confusión para este modelo tiene etiquetadas sus filas con las clases reales, y sus columnas, con las predichas por el modelo. Quedaría así: Figura 1: Matriz de confusión para clasificador binario. De esta forma, la diagonal principal contiene la suma de todas las predicciones correctas (el modelo dice “S” y acierta, es venenosa, o dice “N” y acierta también, es comestible). La otra diagonal refleja los errores del clasificador: los falsos positivos o “true positives” (dice que es venenosa “S”, pero en realidad no lo es “n”), o los falsos negativos o “false negatives” (dice que es comestible “N”, pero en realidad es venenosa “p”). Sin embargo, cuando las distintas “clases” están muy desequilibradas, esta forma de clasificar la “bondad” del funcionamiento de un clasificador resulta poco útil. Por ejemplo, si la tasa de abandono de clientes (“churn”) es de un 10% al mes (es decir, 10 personas de cada 100 se dan de baja al mes), y consideramos al cliente que se da de baja como clase “positiva”, la relación entre clases positivas: negativas esperada sería de 1:9. Así que si directamente asignamos todos los clientes la clase negativa (=no churn), estaríamos consiguiendo una precisión base del 90%, pero… no nos serviría para nada. El problema radica en que al medir la precisión del algoritmo de esa forma no distinguimos entre los errores de tipo falso positivo y falso negativo, como si ambos tuvieran la misma importancia. Y esto no es así. Lo vamos a ver más claro con un ejemplo. Algoritmo de diagnóstico de cáncer: Falso positivo o “Error tipo I” El paciente no tiene cáncer, pero el algoritmo ha diagnosticado que sí lo padece. Se realizarán pruebas diagnósticas adicionales que acabarán descartando el diagnóstico. Tendrá un coste económico y un impacto emocional sobre el paciente, pero no se traducirá en riesgo vital.Falso negativo o “Error tipo II”: El paciente sí tiene cáncer, pero el algoritmo predice que no. Este error del algoritmo se traduce en una falta de detección temprana de la enfermedad. El paciente no recibirá tratamiento a tiempo y esto, indudablemente reduce sus posibilidades de superar la enfermedad. (Si quieres saber más sobre estos tipos de error puedes leer este otro post de nuestro blog: Tipos de error en Machine Learning: ¿los conoces?.) Figura 2: Tipos de error en Machine Learning. Viendo la importancia que tiene discriminar en cada caso concreto los distintos tipos de error que pueden resultar de la aplicación de algoritmo, entendemos mejor la necesidad de trabajar con diferentes métricas. Así, vamos a expresar la matriz de confusión de esta otra forma: Figura 3: Matriz de confusión con otras métricas de evaluación (ampliar) El significado de cada uno de los términos es el siguiente: a es el número de predicciones correctas de clase negativa (negativos reales) b es el número de predicciones incorrectas de clase positiva (falsos positivos) c es el número de predicciones incorrectas de clase negativa (falsos negativos) d es el número de predicciones correctas de clase positiva (positivos reales). Para entender este “trabalenguas” volvemos al ejemplo del clasificador de setas venenosas. Así, “a” sería el número de veces que el algoritmo ha acertado al decir que una seta no es venenosa. Por otro lado, “b” sería el número de veces que el algoritmo se confunde y dice que es venenosa una seta comestible. “c” serían los casos en que el algoritmo predice que la seta no es venenosa, y resulta que sí que lo es (mal asunto…,) y, por último, “d” serían los aciertos del algoritmo al predecir que es mejor no comerse esa seta. Basándonos en los valores de ésta nueva matriz de confusión, más completa, vamos a definir una serie de métricas que nos serán muy útiles. 1. Precisión y exactitud La exactitud o “Accuracy” (AC) se refiere a la dispersión del conjunto de valores obtenidos a partir de mediciones repetidas de una magnitud. Cuanto menor es la dispersión mayor la precisión. Se representa por la proporción entre el número de predicciones correctas (tanto positivas como negativas) y el total de predicciones, y se calcula mediante la ecuación: Figura 4: Exactitud. Por otro lado, la precisión o, en inglés, “Precision” se refiere a lo cerca que está el resultado de una medición del valor verdadero. En términos estadísticos, la exactitud está relacionada con el sesgo de una estimación. También se conoce como Verdadero Positivo (o “True positive rate”). Se representa por la proporción entre los positivos reales predichos por el algoritmo y todos los casos positivos. Es decir, de todas las setas venenosas, cuántas ha predicho correctamente el algoritmo que lo son. Se calcula según la ecuación: Figura 5: Precisión La siguiente ilustración ayuda a ver de forma práctica la diferencia entre precisión y exactitud. Así, por ejemplo, la figura (b) representa un resultado exacto y preciso, mientras que la (C) es preciso, pero no exacto y la (a) no es ni una cosa ni la otra. Figura 6: Precisión vs Exactitud.(Public Domain) 2. Sensibilidad y Especificidad La sensibilidad y la especificidad son dos valores que nos indican la capacidad de nuestro estimador para discriminar los casos positivos, de los negativos. La sensibilidad es la fracción de verdaderos positivos, mientras que la especifidad, es la fracción de verdaderos negativos. La Sensibilidad , exhaustividad o (“Recall”), también se conoce como Tasa de Verdaderos Positivos (True Positive Rate) (TP). Es la proporción de casos positivos (en nuestro ejemplo, setas venenosas) que fueron correctamente identificadas por el algoritmo. Se calcula según la ecuación: Figura 7: Sensibilidad. La Especificidad, por otra parte, es la Tasa de Verdaderos Negativos, (“true negative rate” o TN). Se trata de los casos negativos que el algoritmo ha clasificado correctamente. Su ecuación es: Figura 8: Especificidad. La precisión y la sensibilidad nos están indicando la relevancia de los resultados. Por ejemplo, un algoritmo muy exacto, (P alto) nos dará muchos más resultados relevantes que irrelevantes, mientras que un algoritmo muy sensible, (TP alto), será el que detecte la mayoría de resultados de interés (los primeros). La conveniencia de usar una métrica otra como medida del estimador dependerá de cada caso en particular y, en concreto, del “coste” asociado a cada error de clasificación del algoritmo. Por ejemplo, en ejemplo de las setas, es más importante que la fracción de verdaderos positivos sea alta, es decir que el algoritmo sea muy sensible y haya un mayor número de setas venenosas detectadas correctamente. El coste de un falso negativo, es decir, una seta venenosa dada por comestible, podría ser dramático. En otros casos, es más interesante priorizar la especificidad sobre la sensibilidad. Por ejemplo, las pruebas que buscan detectar individuos sanos 3. Otros términos derivados de la matriz de confusión. Dejamos para el final otro par de métricas que también se usan habitualmente para la evaluación de algoritmos: la tasa de falsos positivos y la de falsos negativos. La tasa de Falsos Positivos, (False Positive rate, FP) es la proporción de casos negativos que fueron erróneamente clasificados como positivos por el algoritmo. Es decir, de las setas comestibles, cuántas clasificó el algoritmo erróneamente como venenosas.Se calcula según la siguiente ecuación: Figura 9: Tasa Falsos Positivos La tasa de Falsos Negativos(False Negative rate, FN) es la proporción de casos positivos incorrectamente clasificados (setas venenosa no detectadas). Su ecuación es: Figura 10: Tasa de Falsos Negativos. Una vez definidas estas métricas, sólo nos resta ponerlas en práctica. En el post “Tu primer experimento en Azure ML Studio: El caso del Titanic (III): Entrenando el modelo” puedes encontrar un ejemplo práctico de su uso para evaluar un modelo creado en Azure ML Studio, pero en futuros experimentos tendremos ocasión de ver muchos más. ¡No te los pierdas!. Cómo interpretar la matriz de confusión: ejemplo práctico Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn y YouTube. Esta semana en el Blog de LUCA: (15 al 21 de Enero)Machine Learning contra “fake news”
Paloma Recuero de los Santos Iot4All: Los desafíos que debe enfrentar la IoT Internet de las cosas, IoT, está presente en numerosos escenarios y casos de uso. No sólo está en la base de la transformación digital de la industria, y otros...
Paloma Recuero de los Santos Video Post #9: Analíticas Big Data, sí, pero ¿Cuáles? Sabemos que las analíticas avanzadas Big Data son imprescindibles para no perder la comba de la innovación digital. Lo que no tenemos tan claro es qué tipo de...
Fran Ramírez Las matemáticas del Machine Learning: Números aleatorios y dónde encontrarlos (II) En el artículo anterior mencionamos la importancia que tienen en nuestro día a día los números aleatorios, utilizados para realizar cualquier tipo de simulación y fundamentales a la hora...
LUCA Talk: La importancia de la seguridad y aspectos legales en el gobierno de los datos. FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 3 de marzo, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite SOBRE QUÉ: Desde la Comisión Europea se está definiendo y escribiendo...
LUCA La teoría Gestalt en Gobierno del Dato Al igual que un dato por si sólo no vale nada si no se le dota de información, conocimiento y se usa para un propósito, “Gobernar el dato por...
Paloma Recuero de los Santos Drones e IA para detectar síntomas de COVID19 La Universidad de Australia de Sur, UniSA ha diseñado una tecnología pionera en el mundo que combina ingeniería, drones, cámaras e inteligencia artificial para monitorizar a distancia constantes vitales....