← Volver
Práctica universitariaProyecto integrador «Sun50» (Databricks)Proyecto en grupo

Ventas globales de bicicletas 2013–2023 en Databricks

Proyecto integrador de punta a punta: exploración con PySpark, hipótesis de negocio y regresión

Problema

Recorrer un proyecto completo de ciencia de datos («50 pasos») sobre ventas de bicicletas: plantear hipótesis de negocio, preparar los datos y predecir la cantidad por orden (Order_Quantity).

Datos

Global Bike Sales Dataset 2013–2023 (Kaggle): costos, precios, ingresos, envío, edad, sexo y país de clientes. Tablas en workspace.default (bike_sales_order, bike_sales_complete).

Fuente de datos →

Métodos

  • Exploración con Spark DataFrames y visualizaciones de Databricks
  • 3 hipótesis de negocio (ingresos por región, unidades por orden, ingreso por grupo de edad)
  • Exclusión de Profit/Cost/Revenue por fuga de información
  • Regresión lineal evaluada con R², MAE y RMSE (el notebook usa Spark ML y scikit-learn)
  • Análisis de residuos y severidad del error por percentiles
  • Enriquecimiento con Product, Sub_Category y Unit_Price + Random Forest
  • K-means (ejercicio del curso)

Resultados

  • Regresión lineal sobre Order_Quantity (entrega): MAE 5.9154, RMSE 7.6347, R² 0.3594 en prueba.
  • Random Forest con Product, Sub_Category y Unit_Price añadidos: R² 0.8083 en prueba (0.9728 en entrenamiento) y MAE 2.84 unidades, frente a 5.92 de la regresión lineal.

Corregido después de la entrega: el notebook atribuía el R² 0.8083 a la regresión lineal; la celda se ejecutó después de que el Random Forest reemplazara la variable `model`. Re-ejecución local (scikit-learn, sin Spark): Random Forest R² 0.8088 en prueba y 0.9728 en entrenamiento, MAE 2.84; regresión lineal R² 0.358. Las cifras publicadas son las de la entrega, con la atribución corregida.

Herramientas

DatabricksPySparkSpark MLPythonscikit-learn

Trabajo universitario; no se afirma autoría individual exclusiva.