Titanic: Tu primer experimento en Azure ML Studio (I)Paloma Recuero de los Santos 14 noviembre, 2017 En Machine Learning, como en otros muchos campos, una de las formas más efectivas de aprender es ponerse manos a la obra. El famoso “Learning by doing”. Y aunque hay una gran cantidad de conceptos que conviene aclarar y aprender, vamos a intercalarlos con ejemplos prácticos que nos ayuden a perder el miedo a probar y… a equivocarnos, que, en definitiva, es la mejor forma de aprender. Por eso, en Data Science son muy interesantes las “Competiciones”. Son una excelente forma de aprender, trabajando sobre problemas reales, en un entorno donde puedes encontrar los lenguajes más habituales, librerías, herramientas y conjuntos de datos… También puedes aprender a partir de las soluciones que han desarrollado otros participantes, compartir información con ellos etc. Las competiciones también pueden tener otros objetivos, como la búsqueda de talento, resolver un problema concreto ofreciendo un atractivo premio como recompensa, o resolver problemas científicos o relacionados con el bien común. En cualquier caso, si tienes interés en aprender sobre Data Science y Machine Learning, Kaggle va a ser uno de sitios favoritos. Así que, ahí va una recomendación: ¡Hazte Kaggler! No obstante, si estás empezando en este mundo, y no conoces todavía ningún lenguaje, de primeras Kaggle puede resultar un poco “intimidante”. Así que, para ir cogiendo confianza, vamos empezar a trabajar sobre un ejemplo basado en una de sus competiciones, “Titanic, Machine Learning from Disaster”, pero usaremos una herramienta más intuitiva, Azure Machine Learning Workbench. Por claridad, dividiremos el experimento en varios post. En este primero, veremos cómo acceder a la herramienta, cómo localizar los datos de trabajo y dónde encontrar algunos ejemplos para empezar a utilizar Azure ML Studio. En el siguiente, cargaremos los datos en la herramienta y los dejaremos listos para aplicar nuestro modelo ML. Después, nos plantearemos la elección del algoritmo, lo aplicaremos y, por último, evaluaremos los resultados. Además de este primer ejemplo de uso de Azure ML, seguiremos nuestra serie de ML trabajando con otros entornos que nos permitirán explorar otras herramientas, conocer otros algoritmos, e ir profundizando poco a poco en el mundo del Data sScience. Pero, una advertencia, cuanto más sepamos, más querremos aprender. Y siempre hay más… ¡A por ello! Dónde podemos conseguir los datos El dataset del Titanic es muy conocido, y es interesante tanto para principiantes como para expertos. Se puede descargar de distintas fuentes, pero recomendamos usar los datos de entrenamiento (train.csv) de Kaggle. Figura 1: Descargamos el dataset de Kaggle. Concepto Training Data vs Testing Data Ya que hablamos de “datos de entrenamiento”, conviene detenerse para aclarar el concepto. Los algoritmos de Machine Learning aprenden de los datos con los que los entrenamos. A partir de ellos, intentan encontrar o inferir el patrón que les permita predecir el resultado para un nuevo caso. En este ejemplo, dado que se trata de un acontecimiento del pasado, no va a haber “casos nuevos”. Sin embargo, si separamos la muestra total de los datos en dos partes: • Training data, los datos que usamos para entrenar al algoritmo • Testing data, los datos que nos “reservamos” para comprobar si el modelo que hemos generado con los datos de entrenamiento “funciona”. Es decir, si las predicciones que hemos obtenido sobre la supervivencia de un pasajero concreto son acertadas o no. Normalmente el conjunto de datos se suele repartir en un 70% de datos de entrenamiento y un 30% de datos de test, pero se puede variar la proporción según el caso. Lo importante es ser siempre conscientes de que hay que evitar el sobreajuste u “overfitting”. Esto ocurre cuando el modelo está “sobre-entrenado”. Son modelos complejos que se ajusta tan milimétricamente al conjunto de datos a partir del cual se han creado, que pierden gran parte de su poder predictivo, y ya no son útiles para otros conjuntos de datos. Esto se debe a que los datos siempre van a tener un cierto grado de error o imprecisión, e intentar ajustarse demasiado a ellos, complica el modelo inútilmente al mismo tiempo que le resta utilidad. Acceso a la herramienta. Debes conectarte a Microsoft Azure Machine Learning Studio y crearte una cuenta. No hace falta tener una suscripción de Azure para poder trabajar en este entorno de pruebas. También ha salido recientemente otra versión para escritorio, que podéis encontrar aquí. Figura 2: Accedemos a Azure ML Studio. Es interesante hacer un poco de “turismo” para conocer un poco el entorno antes de empezar. “Sí, queremos hacer el tour” Figura 3: Nos proponen un pequeño tour para conocer la herramienta. Al igual que comentamos que Kaggle es un buen lugar para aprender, en Azure ML Studio tenemos una gran cantidad de ejemplos (samples) que nos pueden ser muy útiles. En el siguiente post, veremos cómo crear un nuevo experimento desde cero. Mientras tanto, os recomendamos explorar un poco la galería, elegir cualquiera de ellos, ver cómo está hecho, y, para los más impacientes, ¿por qué no? modificarlo. Figura 5: Galería de Ejemplos. (Continuará) Ya está publicados los siguientes post del experimento. Puedes encontrar la serie completa aquí: Titanic: Tu primer experimento en Azure ML StudioTu primer experimento en Azure ML Studio (II); El caso del Titanic: Preparando los datosTu primer experimento en Azure ML Studio: El caso del Titanic (III): Entrenando el modeloTu 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. Diseño de plan de movilidad y transporte para Neuquén gracias al Big Data e Inteligencia ArtificialLo más destacado del BDID2017 (III) Elena Gil: «Creciendo contigo»
AI of Things Alumbrado público inteligente: oportunidades de negocio y beneficios para municipios y ciudadanos El alumbrado público inteligente es uno de los pilares de las ciudades inteligentes. De hecho, es uno de los mejores ejemplos de lo que significa el término Smart City:...
Nacho Palou Humanidad aumentada, el concepto que popularizó un ex-CEO de Google y que está más vigente que nunca Hace algunos años el entonces CEO de Google, Eric Schmidt, popularizó el concepto “humanidad aumentada”. Este término se refiere a la capacidad que tiene la tecnología de “mejorar las...
Nacho Palou Empieza ya a programar Inteligencia Artificial: lenguajes, herramientas y recomendaciones Existe una relación muy estrecha en Big Data e Inteligencia Artificial (IA): Big Data consiste en capturar, procesar y analizar grandes cantidades de datos. Cuando estos datos se...
Alberto García García-Castro Incentivos en redes blockchain empresariales: un nuevo enfoque La importancia del uso de incentivos que premien la colaboración y las buenas prácticas de los participantes en una red blockchain siempre ha sido parte fundamental de la tecnología....
Nacho Palou Blockchain para incrementar la confianza en la compra y venta de vehículos Cada vez es más habitual encontrar en los vehículos tecnologías digitales como conectividad, Internet de las Cosas o Inteligencia Artificial. Por ejemplo, en forma de asistentes digitales, servicios de...
Santiago Morante Inteligencia Artificial en la ficción: The Bestiary Chronicles, de Steve Coulson En la era de la inteligencia artificial (IA), es común escuchar hablar de cómo esta tecnología puede revolucionar diferentes ámbitos de la vida humana, desde la medicina hasta la...