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...
Paloma Recuero de los Santos Sesgos cognitivos en los datos (II): Confirmación Si recordamos, en el primer post de esta serie, ya introdujimos el concepto de sesgo cognitivo como patrón de desviación de nuestro juicio que se produce en determinadas situaciones...
Carlos Rodríguez Abellán Analizando con IA la canción del verano: ¿Cómo hemos cambiado? Ya es septiembre y quedan solo dos semanas para el final del verano por lo que las vacaciones, la playa y los espetos van ya quedando atrás. También va...
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 Caso de éxito ONS: datos para la gestión de movilidad en el Reino Unido En la “historia con datos” de hoy mostramos, una vez más, cómo soluciones basadas en tecnologías Big Data, IoT e Inteligencia Artificial ofrecen un mundo infinito de posibilidades y...
LUCA Open Data y APIs en Videojuegos: el caso de League of Legends Escrito por David Heras, becario en LUCA, y Javier Carro, Data Scientist en LUCA. Cuando en LUCA nos hemos enterado del próximo estreno de Movistar eSports hemos querido hacer un...
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,...
LUCA LUCA Talk: Flotas y Big Data, optimiza y haz más eficiente tu negocio La gestión de flotas de vehículos es un aspecto crítico para muchas empresas que ya han dado el paso de la conexión y están haciendo con éxito la gestión...
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...
Tu primer experimento en Azure ML Studio: El caso del Titanic (IV y fin) ¿Vivirán? : Prueba y puesta en producción del modeloPaloma Recuero de los Santos 14 diciembre, 2017 Por fin llegamos al final de nuestro experimento de creación de un modelo predictivo Machine Learning (ML) en Azure ML Workplace. Tras los post de introducción a la herramienta, creación del experimento y construcción del modelo, tan sólo nos quedaba probarlo con el conjunto de datos de Test y ver los pasos que hay que dar para “operativizarlo”. Y eso es precisamente lo que vamos a ver en este post. 5. Cómo convertir el experimento de entrenamiento en un experimento predictivo. Una vez entrenado el modelo, ya podemos usarlo para hacer predicciones. Para ello, lo desplegamos como servicio web. Los usuarios pueden enviar los datos de entrada (input data) al modelo y el servicio devuelve la predicción de resultados. Para convertir el experimento de entrenamiento en predictivo, lo primero es ejecutarlo (“Run” en la barra de iconos inferior). El siguiente paso es seleccionar “Set up web service/Predictive web service”. Figura 1 : Ejecutamos el algoritmo y lo implementamos como web service. Como hemos probado dos algoritmos diferentes, nos solicita seleccionar uno de ellos: Figura 2 : Seleccionamos el modelo de entrenamiento (entre las dos opciones). En este este caso, elegimos el “Two-Class Decision Forest”, así que borramos la rama que habíamos creado para probar el otro algoritmo. Se genera una nueva pestaña “Predictive experiment” donde vemos que de forma dinámica se han ido agregando una serie de elementos y eliminando otros. En concreto, el objetivo es eliminar todos aquellos módulos que hacían falta para entrenar el modelo, pero ahora ya no son necesarios. También se agregan dos nuevos módulos Web service input y Web service output, que identifican los datos de entrada que se van a incorporar al modelo y los datos que devuelve el servicio. Aunque este proceso se ejecuta de forma automática al seleccionar la opción Set Up Web Service, también puede hacerse de forma manual, o incluso puede ser necesario “retocarlo” manualmente después. Figura 3 : Generación del experimento predictivo. En la parte inferior podemos ver los detalles del proceso de creación del experimento predictivo: Figura 4 : Detalles del proceso. En este caso, vamos a recurrir al retoque manual. Una vez generado el modelo, entrenado y validado, ya no es necesario que los datos de test recorran todo el flujo del experimento. El módulo Web service input puede entrar directamente en el de Score Model. La operación es tan sencilla como arrastrar el módulo a la parte baja del diagrama (borrando en enlace que lo conectaba con el módulo Train.csv), y después conectarlo con el módulo Score Model). Figura 5 : Simplificación del algoritmo. (Más detalle sobre cómo preparar el modelo en How to prepare your model for deployment in Azure Machine Learning Studio). 5.1 Lo implementamos como web service Una vez creado el experimento predictivo, lo vamos a implementar como servicio web. Para ello, lo primero que tenemos que hacer desde el entorno del experimento (experiment canvas) es ejecutarlo (“Run”). Una vez haya terminado de ejecutarse, seleccionamos Deploy Web Service y después, Deploy Web Service New. Se abre la página del portal Machine Learning Web Service portal opens. Nota: para implementar un Nuevo servicio web debes tener los permisos configurados en esa suscripción. Para saber cómo confirgurarlos en caso de que fuera necesario consultar: Manage a Web service using the Azure Machine Learning Web Services portal. Figura 6 : Consola web services en Azure ML Studio. Vemos que ha generado una API que ejecutará nuestro modelo predictivo y a la que podremos acceder de distintas formas. Opción 1: La más sencilla de ellas es desde esta misma pantalla, seleccionando el botón azul “Test”. Vemos cómo se abre un cuadro de diálogo en el que podemos ir introduciendo a mano los valores de las distintas variables para que nos prediga si ese pasajero concreto, según el modelo que hemos entrenado, sobrevivirá o no. Figura 7: Botón “Test”. Figura 8 : Formulario para introducir manualmente los valores de los parámetros. Opción 2: La segunda opción es seleccionar “Test Preview” Figura 9: Opción Test preview. Esta opción nos lleva al portal Azure ML web services, donde, si seleccionamos la opción “Test end point”, bajo el icono “Basics”, accedemos a una versión web de este mismo formulario para agregar los valores individuales de las distintas variables de un caso concreto: Figura 10 : Portal web services. Puede ser en el mismo formato que hemos visto antes: Figura 11 : Formulario por defecto. O en formato .csv: Figura 12: Formulario en formato csv. Opción 3: La tercera opción es llamar a la API desde Excel, seleccionando el icono de Excel que aparece bajo APP. Al elegir esta opción, se descarga un fichero Excel con un add-on que permite conectar con los servicios web de Azure. Figura 13 : Llamada a la API desde Excel. Por defecto, carga una muestra de los sample data, para poder empezar a trabajar. Figura 14 : Detalle del módulo de conexión a los web services desde Excel. 5.2 Probamos el funcionamiento del algoritmo como web service (según la opción 1). Recordamos que, para entrenar el modelo nos descargamos de Kaggle el conjunto de datos Train.csv. Lo dividimos en dos partes (80/20) para poder hacer un Scoring del modelo y obtuvimos resultados como éste (Visualizando, dentro del Módulo “Scored Model”, el Scored Dataset). En este conjunto de datos, sabíamos qué pasajeros había sobrevivido, y cuáles no. El modelo ha aprendido a predecir la supervivencia “Scored Label”, basándose en los datos de entrenamiento de forma que cuando obtiene un “Scored Probability” > 0,5, le asigna un “Scored Label”= 1, Superviviente. Y si es menor, “Scored Label” = 0, Fallecido. Figura 15 : Scored dataset (datos de entrenamiento). Ahora, vamos a comprobar cómo funciona el algoritmo al aplicarlo sobre el conjunto de datos de test.csv. Lo descargamos de Kaggle, como hicimos con el anterior. Los datos tienen este aspecto: Figura 16 : Aspecto de los datos del test.csv descargado de Kaggle. Nos vendrá bien recordar el “Diccionario de Datos” porque vamos a agregar a mano alguno de estos ejemplos: Figura 17 : Diccionario de datos. Si recordamos la “Opción 1”, la más básica, seleccionábamos “Test” y se nos abría un formulario para ir introduciendo los datos nuevos de forma manual.Si cogemos, por ejemplo, el primer registro: PassengerId,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked 892,3,”Kelly, Mr. James”, male,34.5,0,0,330911,7.8292,,Q y queremos calcular la probabilidad de que este pasajero fuera superviviente, seleccionamos “survived”=1 y vamos rellenando el resto de los datos: Figura 18 : Agregamos manualmente los datos de esta pasajera. El resultado de la predicción (si seleccionamos ver detalles) es: Figura 19 : Resultados de aplicar el modelo predictivo. Figura 20 : Detalle del resultado. Como el valor “Scored Probabilities” es 0,625, por tanto, mayor que 0,5, el modelo predice que esta pasajera si sobrevivirá. Evidentemente, esta forma de probar nuestro modelo no resulta nada práctica para ponerlo en producción o hacer predicciones masivas. En ese caso, ya tocaría “aflojar la mosca”. Ejecutar algoritmos tiene siempre un coste en computación. Desde una Raspberry Pi a un HAL9000 (Space Odyssey) o un Cray). Nosotros lo dejamos aquí, pero los interesados, pueden investigar un poco sobre el modelo de costes. Se paga por la computación necesaria para entrenar al modelo, por la computación necesaria para llamar al “scoring” (modelo entrenado) a escala, y en particular las llamadas al modelo entrenado “operacionalizado” en la Web API Con este post, cerramos la serie sobre el experimento de supervivencia del Titanic, donde hemos creado nuestro propio modelo de predicción en Azure Machine Learning Studio, haciendo el proceso completo, desde la carga y depuración de los datos, la generación del modelo, su entrenamiento, scoring, generación del modelo en formato web service y prueba sobre el conjunto de datos de test. Esperamos que os haya sido útil y que os animéis a generar otros modelos basados en otros algoritmos y, en definitiva, seguir aprendiendo cada día un poco más de Ciencia de Datos. Ya está publicados los siguientes post del experimento. Puedes encontrar la serie completa aquí: Titanic: Tu primer experimento en Azure ML Studio Tu primer experimento en Azure ML Studio (II); El caso del Titanic: Preparando los datos Tu primer experimento en Azure ML Studio: El caso del Titanic (III): Entrenando el modelo Tu primer experimento en Azure ML Studio: El caso del Titanic (IV y fin): ¿Sobrevivirán?. Prueba y puesta en producción del modelo. No te pierdas ninguno de nuestros post. Suscríbete a LUCA Data Speaks. Ciencia Ficción vs Inteligencia Artificial: Star Wars, “…para ser un droide mecánico parece que piensas demasiado…”Profuturo: mejora de la enseñanza con la analítica de datos
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....