Atrévete con Python: un experimento para todos los públicosPaloma Recuero de los Santos 13 marzo, 2018 Al igual que hicimos en nuestro experimento sobre el dataset del Titanic en Azure Machine Learning Studio, vamos a seguir con la estrategia del “Learning by doing” porque consideramos que la mejor forma de aprender es llevar a cabo pequeños proyectos, de principio a fin. Un proyecto de Machine Learning puede no ser lineal, pero tiene una serie de etapas bien definidas: 1. Definir el problema 2. Preparar los datos 3. Evaluar distintos algoritmos 4. Refinar los resultados 5. Presentarlos Por otro lado, la mejor manera de conocer una nueva plataforma o herramienta es trabajar con ella. Y eso es precisamente lo que vamos a hacer en este tutorial: conocer Python como lenguaje, y como plataforma. ¿Qué NO hace falta para poder seguir este tutorial? El objetivo de este post es mostrar cómo se puede hacer un experimento sencillo de Machine Learning en Python. Personas muy distintas, con perfiles diferentes pueden trabajar con modelos de ML. Por ejemplo, un investigador de Ciencias Sociales, o un experto en Finanzas, Seguros, Marketing etc. lo que quieren es aplicar el modelo (y ¿por qué no?, comprender cómo funciona). O un desarrollador que ya conoce otros lenguajes/entornos de programación, puede querer empezar a aprender Phyton. O un Data Scientist que trabaja desarrollando nuevos algoritmos en R, por ejemplo, y quiere empezar a trabajar en Python. Así, en vez de hacer un listado de los requisitos previos para poder seguir el tutorial, vamos a detallar lo que no hace falta: No hace falta comprenderlo todo a la primera. El objetivo es seguir el ejemplo de principio a fin y obtener un resultado real. Puedes ir tomando nota de las preguntas que te van surgiendo, y usar la función help (“FunctionName”) de Python para aprender sobre las funciones que vamos usando.No hace falta saber exactamente cómo funcionan los algoritmos. Es conveniente conocer sus limitaciones, y cómo se configurarlos. Pero se puede aprender poco a poco. El objetivo de este experimento es perderle el miedo a la plataforma y ¡seguir aprendiendo con otros experimentos!No hace falta ser programador. El lenguaje Python tiene una sintaxis bastante intuitiva. Como pista para empezar a comprenderlo, conviene fijarse en las llamadas a funciones (e.g. function()) y en la asignación de variables (e.g. a = “b”). Lo importante ahora es “arrancar”, poco a poco, se pueden ir aprendiendo todos los detalles (si es nuestro interés).No hace falta ser un experto en Machine Learning. Puedes ir aprendiendo poco a poco sobre las ventajas y limitaciones de los distintos algoritmos, sobre cómo mejorar en las distintas etapas del proceso, o la importancia de evaluar la precisión mediante la validación cruzada. Como es nuestro primer proyecto en Python, vamos a centrarnos en los pasos básicos. En otros tutoriales podremos trabajar sobre otras tareas como la preparación de datos con Panda o la mejora de los resultados con PyBrain. ¿Qué es Python? Python es un lenguaje de programación interpretado, orientado a objetos de alto nivel y con semántica dinámica. Su sintaxis hace énfasis en la legibilidad del código, lo que facilita su depuración y, por tanto, favorece la productividad. Ofrece la potencia y la flexibilidad de los lenguajes compilados con una curva de aprendizaje suave. Aunque Python fue creado como lenguaje de programación de uso general, cuenta con una serie de librerías y entornos de desarrollo para cada una de las fases del proceso de Data Science. Esto, sumado a su potencia, su carácter open source y su facilidad de aprendizaje le ha llevado a tomar la delantera a otros lenguajes propios de la analítica de datos por medio de Machine Learning como pueden ser SAS (software comercial líder hasta el momento) y R (también open source, pero más propio de entornos académicos o de investigación). Python fue creado por Guido Van Rossum en 1991 y, como curiosidad, debe su nombre a la gran afición de su creador por las películas del grupo Monty Python. Además de librerías de herramientas científicas, numéricas, de herramientas de análisis y estructuras de datos, o de algoritmos de Machine Learning como NumPy, SciPy,Matplotlib, Pandas o PyBrain, de las que hablaremos con más detalle en otro de los post del tutorial, Python ofrece entornos interactivos de programación orientados al Data Science. Entre ellos encontramos: 1. La Shell o intérprete de Python, que se puede lanzar desde el menú Windows, es interactiva (ejecuta las órdenes según las escribes), y resulta útil para pruebas y cálculos sencillos, pero no para el desarrollo. 2. IPython : Es una versión extendida del intérprete que permite resaltado de líneas y errores mediante colores, una sintaxis adicional para el shell, y autocompletado mediante tabulador. 3. Los IDE o Entornos de desarrollo integrado como Ninja IDE, Spyder, o, con el que vamos a trabajar, Jupyter. Jupyter es una aplicación web que permite crear y compartir documentos con código ejecutable, ecuaciones, visualización, y texto explicativo. Además de Python es compatible con más de 40 lenguajes de programación, incluyendo: R, Julia, y Scala y se integra muy bien con herramientas Big Data, como Apache Spark. ¿Qué pasos vamos a dar en este tutorial? Para que no sean demasiado largos, vamos a dividir el trabajo en distintos post. Introducción: Machine Learning con Python para todos los públicos.Python para todos (1): Instalación del entorno Anaconda.Python para todos (2): ¿Qué son los Jupiter Notebook?. Creamos nuestro primer notebook y practicamos algunos comandos fáciles.Python para todos (3): ¿Qué son las librerías?. Preparamos el entorno.Python para todos (4): Empezamos el experimento propiamente. Carga de datos, análisis exploratorio (dimensiones del dataset, estadísticas, visualización etc)Python para todos (5) Final: Creación de los modelos y estimación de su precisión ¿Preparados?. Mañana mismo empezamos…. Los post más interesantes de LUCA Data Speaks 2018 organizados por series y temáticas II Encuentro Big Data Talent Madrid 2018Python para todos (1): Instalación del entorno Anaconda
Telefónica Tech Lo que necesita la Inteligencia Artificial para generar confianza (podcast) El el episodio 10 de nuestro podcast Latencia Cero, “ConfIA en la IA”, tuvimos la oportunidad de contar con la participación de Lucía Ortiz de Zárate, investigadora en Ética...
Nacho Palou 5G: cuatro casos de uso reales y prácticos El último informe “La Sociedad Digital en España 2022” [1] de Fundación Telefónica confirma la consolidación de los procesos de digitalización en la sociedad española. En este sentido, cabe...
Nacho Palou Cursos gratuitos online para aprender IoT (Internet de las Cosas) en 2023 Internet de las Cosas (IoT) es una de las tecnologías digitales de nueva generación con un impacto significativo en múltiples sectores, desde la industria a la agricultura, pasando por...
Fran Ramírez Mujeres que cambiaron las Matemáticas Por Fran Ramírez y Fran Fenoll Aprovechando que en marzo también se celebra el día Internacional de las Matemáticas, hemos querido rendir con esta recopilación un pequeño homenaje a mujeres que...
Nacho Palou #MujeresHacker de Telefónica Tech: Jess Woods, experta en Cloud Con motivo del Día de la Mujer, iniciamos una serie de entrevistas protagonizadas por #MujeresHacker de Telefónica Tech. Mujeres que, con su trabajo y esfuerzo, nos convierten en una...
Sergio Piorno Güemes Un nuevo paradigma financiero: la tokenización de activos En los últimos años se ha acelerado la digitalización del ecosistema financiero gracias a la adopción generalizada de internet y su consecuente desarrollo. Esto, junto con el auge de los dispositivos móviles,...