Saltar a contenido

Herramientas para análisis de datos

A la hora de iniciar un proceso de análisis o tratamiento de datos, en primer lugar debemos decidir en qué lenguaje lo vamos a realizar. En esta web nos centraremos en los lenguajes Python y R como los principales lenguajes que podemos aplicar en este campo. En este documento se explican los fundamentos de Python, así como su instalación junto con la de algún IDE para realizar programas, y en este otro documento se hace lo mismo para el lenguaje R.

Sin embargo, además de utilizar los IDEs más habituales para desarrollar nuestros programas, nos puede venir bien hacer uso de alguna herramienta algo más específica para el campo del análisis de datos. En este documento explicaremos qué otras opciones tenemos, además de las básicas.

1. Google Colab

Google Colab es una de las muchas herramientas que ofrece Google en la nube. Nos permite definir documentos donde intercalar texto con código Python o R, de forma que podemos hacer tutoriales guiados y, además, facilita la integración con multitud de librerías ya incorporadas en Colab, como NumPy o Matplotlib, lo que permite trabajar fácilmente con conjuntos de datos y obtener representaciones gráficas en el mismo documento. Estos datos podemos incorporarlos de varias fuentes de forma automática, tales como hojas de cálculo de nuestra cuenta de Google Drive, o incluso repositorios GitHub.

1.1. Primeros pasos

Para comenzar a trabajar con Colab, debemos acceder a su web oficial con nuestra cuenta de Google (lo que asociará Colab con el espacio en Google Drive de esa cuenta). Una vez dentro, veremos que Colab trabaja en base a unos documentos llamados cuadernos, que se guardan en un formato especial ipynb, compatible con otras herramientas como Jupyter, que veremos a continuación.

Desde el menú Archivo podemos abrir un cuaderno que tengamos previamente guardado en Drive, crear nuevos cuadernos, o subir archivos ipynb nuevos a nuestra cuenta.

Nota

Si accedemos a un cuaderno Colab de una cuenta que no es la nuestra, es recomendable copiarlo a nuestra cuenta de Drive, usando el menú Archivo > Guardar una copia en Drive, ya que de lo contrario los cambios que hagamos no se van a guardar.

1.2. Trabajo con cuadernos. Operaciones básicas

Dentro de un cuaderno abierto, desde el menú Insertar podemos insertar encabezados de sección para dividir la estructura de nuestro documento, y en cada sección podemos incluir bloques de texto explicativo, o bloques de código que podemos ejecutar pulsando en la flecha a la izquierda del bloque o la combinación de teclas Control + Intro. El código se ejecuta en una máquina virtual remota gestionada por Google Colab.

También podemos aprovechar los bloques de código para ejecutar instrucciones en el sistema operativo de la máquina remota donde se está ejecutando el código, anteponiendo un ! delante:

!python -V

Finalmente, desde el menú Archivo anterior también podemos guardar los cambios, tanto en Drive (opción por defecto) como en GitHub si lo preferimos.

Como decíamos, una de las ventajas que ofrece Colab es que nos permite trabajar directamente en la nube con ciertas librerías ya instaladas y que pueden resultar muy útiles para el tratamiento de datos, tales como NumPy para tratamiento de arrays o Matplotlib para generación de gráficas, en el caso de Python. De este modo, se puede tener en un solo documento la explicación, los datos con los que trabajar y los resultados que se obtienen.

En la parte izquierda tenemos unos iconos de utilidad para poder, por ejemplo, ver el árbol de secciones y subsecciones del documento actual, o también los archivos y carpetas que se han generado en la máquina virtual remota (y donde podemos también añadir archivos propios, o descargar archivos generados en dicha máquina).

1.3. Algunos aspectos avanzados

Además de las operaciones básicas para crear cuadros de texto o código, o ejecutar estos últimos, vamos a ver a continuación algunas opciones algo más avanzadas que podemos querer hacer con nuestros cuadernos de Google Colab.

1.3.1. Elegir lenguaje

Como decíamos al principio, Google Colab admite trabajar con Python o con R en sus cuadernos. Por defecto se establece el lenguaje Python cuando creamos nuevos cuadernos, pero si queremos cambiar a lenguaje R desde un documento abierto debemos ir al menú Entorno de ejecución > Cambiar tipo de entorno de ejecución, eligiendo el lenguaje R en el desplegable.

Para R el caso es similar a Python, ya que Colab incorpora algunas librerías habituales del lenguaje, como dplyr o tidyverse, para el análisis de datos.

1.3.2. Carga de archivos

Lo habitual será que utilicemos los cuadernos para manipular o analizar los datos de algún archivo (típicamente ficheros CSV, aunque pueden ser de otros tipos). Estos ficheros pueden subirse al entorno de ejecución de dos formas distintas:

  • Desde el panel izquierdo del documento Colab, en la sección de Archivos, subiendo el archivo según se ha explicado en una imagen anterior. Tiene el inconveniente de que, cada vez que ejecutemos el cuaderno, tendremos que hacer estos mismos pasos de forma manual.
  • Desde el propio código del cuaderno, podemos montar la unidad de Google Drive y acceder al archivo que necesitemos. Esto es sencillo de hacer en Python (no tanto en R); aquí mostramos cómo cargar el fichero datos.txt que se encuentra en la raíz de nuestra unidad Google Drive.
# Carga del archivo en Python

# Importamos el objeto 'drive' de Colab
from google.colab import drive

# Primero montamos la unidad
drive.mount('/content/drive', force_remount=True)
# Ahora accedemos al fichero en la carpeta raíz
with open("/content/drive/MyDrive/datos.txt", "r") as archivo:
    # Realizar operaciones de lectura en el archivo
    contenido = archivo.readlines()
...

Advertencia

Cuando conectemos desde Colab con nuestra unidad de Google Drive nos pedirá permisos para conectar. Deberemos especificar desde qué cuenta queremos conectar (normalmente desde nuestra misma cuenta de Google), y darle permisos totales para acceder al sistema.

1.4. Limitaciones y otras consideraciones

En cuanto a sus limitaciones, en la versión gratuita sólo se permite el uso de una GPU (para procesamiento paralelo, útil en el trabajo con redes neuronales), una RAM limitada y una actividad continuada de hasta 12 horas por sesión. Para activar la GPU deberemos hacerlo desde el menú Entorno de ejecución - Cambiar tipo de entorno de ejecución.

Ejemplo de uso

Aquí tienes un vídeo explicativo del uso básico de Google Colab

2. Otras herramientas

Además de Google Colab que es una de las herramientas más utilizadas para el trabajo online con modelos de IA o el data science, existen otras herramientas que podemos emplear de forma local.

2.1. Jupyter

Jupyter es un conjunto de herramientas que ofrece una funcionalidad similar a Colab (gestionar cuadernos interactivos que intercalan texto y código Python), pero que debe instalarse de forma local en el sistema. De hecho, Colab es básicamente un servidor Jupyter instalado en Google.

Aquí tenemos el enlace a la web oficial de Jupyter. Como podemos ver, se distinguen dos aplicaciones:

  • Jupyter Notebook, que es algo más básico para editar archivos Jupyter (ipynb), y definir bloques de texto, código, etc.
  • JupyterLab, que integra una serie de herramientas adicionales para trabajo más avanzado en machine learning o data science.

Como decimos, el principal inconveniente de estas herramientas es que se instalan en local, con lo que, por un lado, perdemos ese elemento colaborativo online que ofrece Colab, y por otro, tenemos que instalar manualmente en el sistema las librerías que necesitemos para nuestros trabajos (NumPy, Matplotlib, etc).

2.2. Anaconda

Anaconda es un pack de software que integra diferentes herramientas orientadas al trabajo con Python y otros lenguajes (como R), en ámbitos como data science o machine learning. Entre otras cosas, podemos instalar el propio entorno Python (o R), junto con algunos editores como PyCharm, así como el propio Jupyter Notebook y también algunas librerías típicas de data science o machine learning tales como NumPy o TensorFlow. Podemos obtener más información aquí.

Como principal ventaja sobre el entorno Jupyter anterior, podemos decir que Anaconda ya incorpora Jupyter, y también incorpora las principales librerías para trabajo con data science o machine lerning, con lo que nos facilita bastante el comenzar a trabajar en estos entornos.

Sin embargo, dependiendo de la versión de Anaconda que utilicemos, es posible que venga con uno u otro software instalado, y no sirva del todo para la tarea que necesitamos realizar.

2.3. Cuadernos desde VS Code

Como alternativa a tener que instalar Jupyter y/o Anaconda para poder trabajar con cuadernos de forma local, podemos utilizar el propio IDE Visual Studio Code. Para ello necesitamos, además de lo que ya hemos hecho en documentos anteriores (crear un entorno con las librerías recomendadas, etc):

  • Instalar la extensión Jupyter en Visual Studio Code, para poder trabajar con cuadernos
  • Instalar la librería ipykernel en el entorno donde vayamos a usar los cuadernos, con el correspondiente comando pip install.

Desde el cuaderno abierto deberemos elegir el kernel o entorno adecuado para ejecutar el cuaderno (aquel que tenga las librerías correctas instaladas).