¿Qué puedo hacer en google colab?
Muchos de los que nos iniciamos en el mundo del análisis de datos, hemos escuchado o usado alguna vez el entorno que nos ofrecen los jupyter notebooks, que son cuadernos interactivos que nos permiten experimentar y prototipar el análisis que hacemos con nuestro código.
En el presente artículo vas a tener una breve introducción a los siguientes conceptos:
Programación experimental - REPL
El paradigma bajo el cuál se mueve la programación en cuadernos de jupyter, es el bucle de Lectura-Evaluación-Impresión, mejor conocido como REPL por sus siglas en ingles. Este es un sistema de programación interactiva, normalmente utilizado para procesos de prototipado y experimentación, donde el usuario puede ingresar una linea de código y ejecutarla al instante para ver el resultado, evaluar si es el resultado esperado, y en caso contrario poder modificar la linea de código y ver al instante el nuevo resultado.
El sistema de jupyter notebooks esta potenciado por ipython, que es un shell interactivo que añade funcionalidades extra al modo interactivo incluido con Python, como resaltado de líneas y errores mediante colores, una sintaxis adicional para el shell, autocompletado mediante tabulador de variables, módulos y atributos; entre otras funcionalidades. Es un componente del paquete SciPy.
La programación experimental nos permite poder explorar el problema y las soluciones al mismo tiempo, de una manera en la que podemos ir iterando y modificando los errores al instante, pues no debemos esperar a que se compile como en otros lenguajes de programación, o utilizar otras herramientas como cuando programamos en python desde un IDE, donde debemos abrir la linea de comandos para ejecutar nuestro código.
Jupyter notebook
El nombre del proyecto Jupyter es una referencia a los tres lenguajes de programación principales soportados por Jupyter, que son Julia, Python y R, y también un homenaje a los cuadernos de Galileo que registran el descubrimiento de los satélites de Júpiter.
Según la descripción de la documentación oficial, jupyter notebook extiende el acercamiento basado en consola de la computación interactiva en una nueva dirección, generando una aplicación basada en la web que captura todo el proceso computacional: desarrollar, documentar, y ejecutar código, así como exponer los resultados.
Los cuadernos de jupyter combinan dos componentes:
Una aplicación web: Una herramienta basada en el navegador para la realización interactiva de documentos que combinan texto plano, matemáticas, computación y elementos multimedia como resultado final.
Cuadernos como archivos: Una representación de todo el contenido visible en la aplicación web, incluyendo entradas y salidas de los procesos computacionales, texto plano, matematicas, imagenes, y elementos multimedia.
Recomendado por LinkedIn
Google colab
Colaboratory, también llamado Colab, permite escribir y ejecutar código de Python en un navegador a través de cuadernos de jupyter notebooks, con las siguientes particularidades:
- Sin configuración requerida
- Acceso gratuito a GPU
- Facilidad para compartir
Un archivo de google colab se almacena en drive de la misma manera que los hacen los archivos de google sheets o google docs, y también tiene la funcionalidad que nos permite definir si alguien más puede ver, comentar o editar nuestro archivo.
En colab podemos realizar las mismas tareas que realizamos en nuestros cuadernos de jupyter, en las que se incluyen:
Los beneficios de la programación experimental que nos dan los entornos interactivos son cada vez mas notorios para todos los que empezamos a explorar en este mundo intrigante de los datos. Colab nos ofrece la posibilidad de combinar estos beneficios con el trabajo en equipo, una invitación a que exploremos en esta maravillosa herramienta.
Para terminar, ten en cuenta que en este artículo pudiste familiarizarte con los siguientes conceptos:
Python Developer: Django, Htmx | Editor de contenidos | Profesor de cursos de programación
2 añosGenial!
BI Analyst | Data Analyst | Python | Inteligencia Artificial
3 añosGracias por compartir tu articulo, nos ayuda a generar una mejor apropiación de los conceptos, excelente ! 🙂 bendiciones!
Desarrollador Frontend | Estudiante de Maestría en Filosofía Univalle
3 añosJuan Diego Ramirez Zuluaga, muy buena introducción a estos conceptos y herramientas tan poderosas y asequibles. No vendría mal un videotutorial para sumarlo a este articulo.