¿Cómo utilizar datasets de Kaggle en Google Colab?

En este tutorial te explico cómo utilizar datasets de Kaggle en Google Colab.

Los datasets y los Notebooks de Kaggle

Kaggle es uno de los mejores lugares de internet donde puedes ir a buscar datasets para entrenar tus modelos de Machine Learning.

Kaggle pone a tu disposición los Kaggle Notebooks, que no son más que Jupyter Notebooks que puedes ejecutar desde tu navegador gratis.

Así que puedes de manera directa empezar a cacharrear con cualquier dataset de su catálogo.

Limitaciones de los Notebooks de Kaggle

Lo que pasa es que los Notebooks de Kaggle tienen limitaciones temporales para usar sus recursos de cómputo en cada sesión:

  • 12 horas de tiempo de ejecución en CPUs o GPUs
  • 9 horas de tiempo de ejecución para sesiones con TPUs

Además, si hay mucha gente utilizando los notebooks de Kaggle a la vez y están accediendo a GPUs es posible que tee pongan en cola y también existe una cuota semanal de horas a las que puedes acceder a una GPU o TPU.

Esta cuota no es siempre la misma porque se ajusta según la demanda de recursos que esté habiendo en Kaggle pero rondan las 30 horas semanales para GPUs.

Google Colab vs Kaggle Notebooks

Google Colab es una de la manera de iniciarse en el mundo del Machine Learning sin tener que instalar absolutamente nada en tu ordenador.

Tiene una versión completamente gratis que te permiten utilizar las GPUs y TPUs de Google.

Tanto Kaggle como Google Colab son productos de Google así que reportan las mismas limitaciones en cuanto a la duración de las sesiones.

En el caso de Google Colab existe una opción de pago, Colab Pro+, que permite la ejecución continua de código durante un máximo de 24 horas.

Por otro lado, Google Colab no tiene una cuota máxima semanal de acceso a GPUs y TPUs como la que puede tener Kaggle.

Eso sí, el acceso a estos recursos no está garantizado así que es posible que si intentas entrenar un modelo en una GPU un día que hay mucha demanda, no puedas conseguir acceder a una.

¿Lo mejor?

Combinar ambos 🙂

Así que...

¿No sería maravilloso poder utilizar los datasets de Kaggle directamente en Google Colab?

Importar datasets de Kaggle en Google Colab

1️⃣ Generar un token API

Para generar un API token lo único que tienes que hacer es tener una cuenta en Kaggle.

Una vez estés dado de alta y desde la sección de ajustes podrás crear un nuevo token que se descargará automáticamente en tu ordenador como kaggle.json

Crear API token en Kaggle

2️⃣ Crear una carpeta en tu Google Drive

El siguiente paso será crear en tu Google Drive una carpeta que se llame Kaggle y subir el fichero kaggle.json que te acabas de descargar.

Subir API token de Kaggle a Google Drive

3️⃣ Montar tu disco de Drive en el cuaderno de Google Colab

A partir de ahí puedes crear un nuevo Notebook de Google Colab en el que vayas a trabajar con esos datos o puedes tener uno específico para descargarte datasets de Kaggle.

Como tú prefieras.

En ese Notebook de Google Colab tienes que montar to Google Drive para poder acceder a los datos desde Google Colab.

from google.colab import drive
drive.mount('/content/gdrive')

4️⃣ Autorización

En ese momento te aparecerá una ventana pidiendo autorización para poder acceder a tus ficheros de Google Drive desde el Notebook de Colab.

Autorización de acceso de Google Colab a Drive

Sigue el proceso de autorización.

5️⃣ Indicar la ubicación del token API

El siguiente paso es indicar la ruta en la que se encuentra guardado API token de Kaggle que hemos subido antes kaggle.json al archivo de configuración.

Recuerda que estaba en tu drive y en la carpeta Kaggle: /MyDrive/Kaggle

import os
os.environ['KAGGLE_CONFIG_DIR'] = "/content/gdrive/MyDrive/Kaggle"

# Aquí puedes volver al directorio en el que estabas trabajando. En mi caso es la carpeta Colab Notebooks
%cd /content/gdrive/My Drive/Colab Notebooks/Tutoriales

6️⃣ Descargar el dataset

Busca en Kaggle el dataset con el que quieres trabajar en Google Colab.

En mi caso será un datasets de los precios de la vivienda en California 🏠.

Y copia el comando.

Dataset de precios de la vivienda en California

A partir de ahí sólo tienes que volver a tu cuaderno de Google Colab y pegarlo.

⚠️ No olvides poner el signo de exclamación antes del comando (!) para que funcione en Google Colab

!kaggle datasets download -d camnugent/california-housing-prices

El fichero se descargará comprimido en la carpeta en la que estás trabajando (yo estoy trabajando en /My Drive/Colab Notebooks/Tutoriales )

Dataset descargado en Google Drive

Ahora solo tienes que descomprimirlo...

!unzip california-housing-prices.zip

¡Y a funcionar! 😊

import pandas as pd

housing_data = pd.read_csv('housing.csv')

Accede a todo el contenido premium

Ya no necesitas pagar cientos de euros por un Bootcamp para convertirte en ninja de los datos. Por solo 17€/mes (o menos 🤯), obtén acceso al podcast premium, a todos los tutoriales y a los resúmenes de los libros más top sobre Machine Learning y Ciencia de datos y aprende a tu ritmo.
¡Empieza ahora!
Copyright © 2024  · Datos 🥷 · Todos los derechos reservados