Cómo Explorar y Analizar Datasets de Kaggle con Python: guía paso a paso

Lazy Placeholder

Si ya tienes un flujo de trabajo sólido en ciencia de datos, este tutorial te mostrará cómo encontrar, descargar y explorar datasets de Kaggle usando Python, además de algunos trucos que los profesionales usan para acelerar su análisis.

Utilizaremos herramientas populares como Kaggle, Jupyter Notebook, pandas y Seaborn, para que puedas aplicarlas directamente en tus proyectos.

¿Cómo buscar datasets en Kaggle?

El primer paso es visitar Kaggle y dirigirte a la sección Datasets. Allí podrás filtrar por:

  • Tema: salud, finanzas, inteligencia artificial, deportes, etc.
  • Tipo de archivo: CSV, JSON.
  • Popularidad o últimas subidas.

Algunas ideas de búsqueda:

  • salud mental
  • covid
  • mercado de valores
  • cambio climático
  • informática

Cada dataset incluye una Data Card que muestra:

  • Descripción de las columnas
  • Fuente del dataset
  • Tamaño
  • Licencia

Esto te permite evaluar si el dataset es adecuado antes de descargarlo.

¿Cómo instalar Kaggle CLI?

En lugar de descargar datasets manualmente, puedes usar la herramienta de línea de comandos de Kaggle.

Instálala con:

pip install kaggle

Luego, descarga tu API key en:

Kaggle → Account → Create New API Token

Se generará un archivo kaggle.json. Colócalo en:

~/.kaggle/kaggle.json

Y configura los permisos:

chmod 600 ~/.kaggle/kaggle.json

¿Cómo descargar datasets desde la terminal?

Ejemplo de dataset:

amar5693/screen-time-sleep-and-stress-analysis-dataset

Descárgalo con:

kaggle datasets download amar5693/screen-time-sleep-and-stress-analysis-dataset

Descomprime el archivo:

unzip screen-time-sleep-and-stress-analysis-dataset.zip

Ahora tendrás un archivo CSV listo para analizar.

¿Cómo iniciar un Jupyter Notebook?

Lanza Jupyter Notebook con:

jupyter notebook

Crea un nuevo notebook para comenzar tu análisis.

¿Cómo importar librerías de Python para Data Science?

Un stack típico incluye:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set_theme()

from scipy import stats
import statsmodels.formula.api as smf
LibreríaPropósito
NumPyCálculo numérico
pandasManipulación de datos
MatplotlibGráficos
SeabornVisualización estadística
StatsmodelsRegresión y análisis estadístico
SciPyComputación científica

¿Cómo cargar el dataset?

df = pd.read_csv("social_media_mental_health.csv")

Visualiza las primeras filas:

df.head()

Revisa la estructura del dataset:

df.info()

Obtén estadísticas básicas:

df.describe()

¿Cómo explorar el dataset? (EDA)

El Análisis Exploratorio de Datos (EDA) te permite entender la estructura, distribución y relaciones de tus datos.

Valores faltantes

df.isnull().sum()

Histograma

Ejemplo: distribución del tiempo frente a pantalla:

sns.histplot(df["screen_time_hours"], kde=True)
plt.show()

Este gráfico ayuda a identificar si los datos son normales, sesgados o multimodales.

Matriz de correlación

sns.heatmap(df.corr(), annot=True)

Permite detectar relaciones entre variables.

Gráfico de dispersión

Tiempo frente a pantalla vs estrés:

sns.scatterplot(
    x="screen_time_hours",
    y="stress_level_0_10",
    data=df
)

Gráfico de regresión

sns.regplot(
    x="screen_time_hours",
    y="stress_level_0_10",
    data=df
)

Muestra relaciones y tendencias entre variables.

¿Cómo ejecutar modelos estadísticos?

Usa regresión lineal para analizar relaciones:

model = smf.ols(
    "stress_level_0_10 ~ screen_time_hours",
    data=df
).fit()

model.summary()

Obtendrás:

  • Pendiente
  • Intercepto
  • Valores p

Ejemplo de ecuación:

stress = 2.86 + 0.59 * screen_time

¿Cómo hacer predicciones?

Ejemplo: estrés predicho para 8 horas frente a pantalla:

2.86 + 0.59 * 8

¿Qué flujo de trabajo es más recomendado para datasets de Kaggle?

Los profesionales de Data Science, habitualmente siguen este flujo:

  1. Buscar dataset
  2. Descargar usando Kaggle CLI
  3. Cargar con pandas
  4. Limpiar datos
  5. Análisis exploratorio
  6. Visualización
  7. Pruebas estadísticas / modelos ML
  8. Interpretar resultados