Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 INTERBOOT - Data Science Internship Project

📋 Descripción del Proyecto

Este repositorio documenta mi journey completo a través del Internboot Data Science Internship, organizado por E2V (Employment Express Virtual Internship Program). El proyecto sigue una progresión estructurada desde fundamentos de data science hasta implementaciones avanzadas de machine learning y deployment.

Python Machine Learning Status Streamlit

🎯 Objetivos del Proyecto

  • Beginner: Dominar fundamentos de análisis exploratorio y modelos básicos
  • Intermediate: Implementar feature engineering y modelos multivariados
  • Advanced: Desarrollar técnicas avanzadas y deployment de modelos
  • Crear un portfolio completo que demuestre evolución en data science
  • Implementar best practices en machine learning y reproducible research

📁 Estructura del Repositorio

Internboot/
├── BEGINNER_LEVEL/
│   ├── Task1_Exploratory_Sales_Analysis/
│   │   ├── notebooks/exploratory_analysis.ipynb
│   │   ├── scripts/data_cleaning.py
│   │   ├── results/visualizations/
│   │   ├── data/processed/
│   │   └── README.md
│   ├── Task2_Simple_Sales_Forecast/
│   │   ├── notebooks/simple_forecast.ipynb
│   │   ├── models/baseline_model.pkl
│   │   ├── results/forecast_metrics.json
│   │   └── README.md
│   └── Task3_Linear_Regression_Prediction/
│       ├── notebooks/linear_regression.ipynb
│       ├── models/linear_model.pkl
│       ├── results/regression_metrics.csv
│       └── README.md
├── INTERMEDIATE_LEVEL/
│   ├── Task1_Feature_Engineering/
│   │   ├── notebooks/feature_engineering.ipynb
│   │   ├── features/engineered_features.csv
│   │   ├── scripts/feature_pipeline.py
│   │   └── README.md
│   ├── Task2_Multiple_Regression/
│   │   ├── notebooks/multiple_regression.ipynb
│   │   ├── models/multivariate_model.pkl
│   │   ├── results/multivariate_metrics.csv
│   │   └── README.md
│   └── Task3_Time_Series_Regression/
│       ├── notebooks/time_series_regression.ipynb
│       ├── models/time_series_model.pkl
│       ├── results/time_series_metrics.json
│       └── README.md
├── ADVANCED_LEVEL/
│   ├── Task1_Ridge_Lasso_Regression/
│   │   ├── notebooks/regularized_regression.ipynb
│   │   ├── models/regularized_models/
│   │   ├── results/regularization_analysis/
│   │   └── README.md
│   ├── Task2_Regression_with_External_Data/
│   │   ├── notebooks/external_data_regression.ipynb
│   │   ├── data/external/
│   │   ├── models/external_data_model.pkl
│   │   └── README.md
│   └── Task3_Model_Deployment/
│       ├── deployment/app.py
│       ├── deployment/requirements.txt
│       ├── models/production_model.pkl
│       └── README.md
├── assets/
│   ├── images/
│   └── diagrams/
├── docs/
│   ├── project_report.pdf
│   └── technical_specifications.md
├── requirements.txt
└── README.md

🏆 Tareas Completadas

🔰 BEGINNER LEVEL - Fundamentos de Data Science

📊 Task 1: Exploratory Sales Analysis

Objetivo: Análisis exhaustivo del dataset de ventas minoristas

Tecnologías: Pandas, Matplotlib, Seaborn, NumPy

Logros:

  • ✅ Análisis exploratorio de 50,000+ registros de ventas
  • ✅ Limpieza y preprocesamiento de datos (missing values, outliers)
  • ✅ Visualizaciones interactivas de tendencias y patrones
  • ✅ Análisis de distribuciones y correlaciones
  • ✅ Exportación de dataset limpio para análisis posteriores

Archivos clave: exploratory_analysis.ipynb, data_cleaning.py

📈 Task 2: Simple Sales Forecast

Objetivo: Implementar modelos básicos de forecasting

Tecnologías: Scikit-learn, Statsmodels, Pandas

Logros:

  • ✅ Modelos de series temporales básicos (Media móvil, Suavizado exponencial)
  • ✅ Métricas de evaluación de forecast (MAE, RMSE, MAPE)
  • ✅ Visualización de predicciones vs valores reales
  • ✅ Análisis de residuos y patrones temporales
  • ✅ Baseline para comparación con modelos avanzados

Archivos clave: simple_forecast.ipynb, baseline_model.pkl

🎯 Task 3: Linear Regression Prediction

Objetivo: Implementar y evaluar regresión lineal para predicción de ventas

Tecnologías: Scikit-learn, Linear Regression, Cross-validation

Logros:

  • ✅ Implementación de regresión lineal simple y múltiple
  • ✅ Validación cruzada para evaluación robusta
  • ✅ Análisis de coeficientes e importancia de características
  • ✅ Diagnóstico de modelos (residuos, homocedasticidad)
  • ✅ Comparación con modelos baseline

Archivos clave: linear_regression.ipynb, linear_model.pkl

🎯 INTERMEDIATE LEVEL - Ingeniería de Características y Modelos Avanzados

🔧 Task 1: Feature Engineering

Objetivo: Crear y seleccionar características para mejorar modelos

Tecnologías: FeatureTools, Scikit-learn, Pandas

Logros:

  • ✅ Creación de 50+ características temporales y categóricas
  • ✅ Transformaciones (scaling, encoding, binning)
  • ✅ Selección de características con RFE y importancia
  • ✅ Pipeline de preprocesamiento reproducible
  • ✅ Análisis de correlación y multicolinealidad

Archivos clave: feature_engineering.ipynb, engineered_features.csv

🎛️ Task 2: Multiple Regression

Objetivo: Implementar modelos de regresión multivariados

Tecnologías: Scikit-learn, Multiple Linear Regression, Polynomial Features

Logros:

  • ✅ Regresión lineal múltiple con múltiples predictores
  • ✅ Feature interactions y polynomial features
  • ✅ Regularización básica (Ridge/Lasso introduction)
  • ✅ Validación de supuestos de regresión
  • ✅ Interpretación de coeficientes multivariados

Archivos clave: multiple_regression.ipynb, multivariate_model.pkl

⏰ Task 3: Time Series Regression

Objetivo: Modelar relaciones temporales en datos de ventas

Tecnologías: Statsmodels, SARIMA, Facebook Prophet

Logros:

  • ✅ Modelos ARIMA/SARIMA para series temporales
  • ✅ Componentes de tendencia y estacionalidad
  • ✅ Feature engineering temporal (lags, rolling statistics)
  • ✅ Validación en series temporales (time-based split)
  • ✅ Comparación con modelos de machine learning

Archivos clave: time_series_regression.ipynb, time_series_model.pkl

🚀 ADVANCED LEVEL - Técnicas Avanzadas y Deployment

🛡️ Task 1: Ridge Lasso Regression

Objetivo: Implementar técnicas de regularización avanzada

Tecnologías: Scikit-learn, Regularization, Hyperparameter Tuning

Logros:

  • ✅ Implementación completa de Ridge y Lasso regression
  • ✅ Optimización de hiperparámetros con GridSearchCV
  • ✅ Análisis de paths de regularización
  • ✅ Selección automática de características con Lasso
  • ✅ Comparación de sesgo-varianza entre modelos

Archivos clave: regularized_regression.ipynb, regularized_models/

🌐 Task 2: Regression with External Data

Objetivo: Mejorar predicciones integrando datos externos

Tecnologías: Data Integration, Feature Union, Ensemble Methods

Logros:

  • ✅ Integración de datasets externos (clima, economía, eventos)
  • ✅ Feature engineering con datos multivariados
  • ✅ Modelos ensemble con características extendidas
  • ✅ Análisis de impacto de datos externos en precisión
  • ✅ Validación cruzada temporal robusta

Archivos clave: external_data_regression.ipynb, external_data_model.pkl

🚀 Task 3: Model Deployment

Objetivo: Desplegar modelo en producción con interfaz web

Tecnologías: Streamlit, Pickle, Heroku/AWS

Logros:

  • ✅ Serialización de modelo y pipeline
  • ✅ Desarrollo de aplicación web con Streamlit
  • ✅ Interfaz de usuario para predicciones en tiempo real
  • ✅ Sistema de logging y monitoring
  • ✅ Documentación API y uso

Archivos clave: app.py, production_model.pkl, requirements.txt

📊 Métricas y Resultados

Evolución del Performance por Nivel

Nivel Mejor Modelo R² Score RMSE MAE Mejora vs Anterior
Beginner Linear Regression 0.72 152.3 118.5 Baseline
Intermediate Multiple Regression 0.78 138.7 107.8 +8.3%
Advanced Regularized + External Data 0.85 121.9 94.2 +18.1%

Técnicas Más Impactantes

  1. Feature Engineering: +12% mejora en R²
  2. Regularización: +8% mejora con reducción de overfitting
  3. Datos Externos: +10% mejora en precisión predictiva
  4. Time Series Features: +15% captura de patrones temporales

🛠 Stack Tecnológico Completo

Machine Learning & AI

# Frameworks principales
scikit-learn >= 1.2.0
statsmodels >= 0.13.0
prophet >= 1.1.0
xgboost >= 1.7.0

# Procesamiento de datos
pandas >= 1.5.0
numpy >= 1.21.0
featuretools >= 1.0.0

# Visualización
matplotlib >= 3.5.0
seaborn >= 0.11.0
plotly >= 5.10.0

# Deployment
streamlit >= 1.22.0
flask >= 2.0.0
joblib >= 1.2.0

Herramientas de Desarrollo

# Entorno y control de versiones
python = 3.9.0
jupyter = 1.0.0
git = 2.35.0

# Utilidades
scipy >= 1.9.0
optuna >= 3.1.0  # Para optimización avanzada

🚀 Instalación y Ejecución

1. Clonar y Configurar

git clone https://github.com/MarioLeyser/Internboot.git
cd Internboot
python -m venv interboot_env
source interboot_env/bin/activate  # Linux/Mac
interboot_env\Scripts\activate    # Windows
pip install -r requirements.txt

2. Ejecutar por Nivel de Dificultad

Beginner Level

# Análisis exploratorio
jupyter notebook BEGINNER_LEVEL/Task1_Exploratory_Sales_Analysis/notebooks/

# Forecasting básico
jupyter notebook BEGINNER_LEVEL/Task2_Simple_Sales_Forecast/notebooks/

# Regresión lineal
jupyter notebook BEGINNER_LEVEL/Task3_Linear_Regression_Prediction/notebooks/

Intermediate Level

# Feature engineering
jupyter notebook INTERMEDIATE_LEVEL/Task1_Feature_Engineering/notebooks/

# Regresión múltiple
jupyter notebook INTERMEDIATE_LEVEL/Task2_Multiple_Regression/notebooks/

# Series temporales
jupyter notebook INTERMEDIATE_LEVEL/Task3_Time_Series_Regression/notebooks/

Advanced Level

# Regularización avanzada
jupyter notebook ADVANCED_LEVEL/Task1_Ridge_Lasso_Regression/notebooks/

# Datos externos
jupyter notebook ADVANCED_LEVEL/Task2_Regression_with_External_Data/notebooks/

# Deployment (requiere Streamlit)
streamlit run ADVANCED_LEVEL/Task3_Model_Deployment/deployment/app.py

📈 Hallazgos y Aprendizajes Clave

🔍 Business Insights

  1. Estacionalidad Predictiva: Patrones consistentes mensuales y anuales
  2. Sensibilidad a Promociones: +25% ventas durante campañas promocionales
  3. Impacto de Variables Externas: Clima y economía explican 15% de varianza
  4. Diferencias por Categoría: Comportamientos distintos por familia de productos

🧠 Technical Insights

  1. Feature Engineering > Model Complexity: Mejores características superan modelos complejos
  2. Regularización Esencial: Previene overfitting en datasets con muchas características
  3. Validación Temporal Crítica: Time-based split esencial para forecasting real
  4. Interpretabilidad vs Performance: Trade-off manejado con técnicas apropiadas

🎓 Competencias Desarrolladas

Habilidades Técnicas por Nivel

  • Beginner: Pandas, EDA, Visualización, Estadística, Linear Models
  • Intermediate: Feature Engineering, Multiple Regression, Time Series, Model Validation
  • Advanced: Regularization, Ensemble Methods, Data Integration, Model Deployment

Habilidades Profesionales

  • Gestión de Proyectos: 9 tareas completadas secuencialmente
  • Documentación: Código, resultados y reportes técnicos
  • Metodología CRISP-DM: Aplicación de framework de data science
  • Comunicación Técnica: Explicación de modelos complejos a no técnicos
  • Best Practices: Version control, reproducible research, testing

🌟 Logros Destacados

  1. ✅ Completación 100%: 9/9 tareas completadas exitosamente
  2. ✅ Progresión Medible: Mejora continua en métricas de performance
  3. ✅ Portfolio Completo: Proyecto end-to-end desde EDA hasta deployment
  4. ✅ Código Production-Ready: Buenas prácticas y documentación
  5. ✅ Aprendizaje Applicado: Técnicas directamente aplicables en industria

🔮 Próximos Pasos

Mejoras Técnicas Inmediatas

  • AutoML: Implementar Optuna para optimización automática
  • Deep Learning: Probando LSTM/Transformers para series temporales
  • MLOps: Pipeline CI/CD para modelos en producción
  • Monitoring: Sistema de detección de drift de datos

Expansiones del Proyecto

  • Sistema de Recomendación: Optimización de inventario cross-store
  • Análisis de Sentimiento: Integración con reviews y redes sociales
  • Computer Vision: Análisis de tráfico en tiendas físicas
  • Análisis de Cohortes: Segmentación avanzada de clientes

👨‍💻 Autor

Mario Leyser Vilca Zamora
🎓 Data Science Engineer | Machine Learning Specialist
📍 Lima, Perú

🔗 Conecta Conmigo

📧 Contacto

📄 Licencia

Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para detalles.

🙏 Agradecimientos

  • E2V por el Internboot Data Science Internship Program
  • Employment Express por la estructura educativa y oportunidades
  • Comunidad Open Source por las herramientas y conocimiento
  • Mentores por la guía durante el desarrollo del proyecto

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages