Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ml_tracker

Sistema de gestión de experimentos de Machine Learning hecho con Django + Django REST Framework. Pensado como proyecto base para un training introductorio de Data Science.

Setup en 5 comandos

cd ml_tracker/backend
python -m venv .venv &&source .venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py seed
python manage.py runserver

Tip: para el admin podés crear un superuser con python manage.py createsuperuser.

Estructura del proyecto

ml_tracker/
├── backend/
│ ├── config/ # Configuración del proyecto Django (settings, urls, wsgi/asgi)
│ ├── experiments/ # App de dominio: modelos, serializers, views, admin, urls
│ │ └── management/commands/seed.py # Datos de demo
│ ├── manage.py # CLI de Django (migrate, runserver, seed, etc.)
│ └── requirements.txt # Dependencias Python
├── docs/
│ └── GUIA_DEMO.md # Guion de la demo en vivo (15 min, 7 pasos)
└── README.md
Carpeta / archivoPara qué sirve
backend/config/Configuración global: settings, URLs raíz, entry points WSGI/ASGI.
backend/experiments/App de dominio. Acá viven Project, Experiment y Run.
backend/experiments/models.pyDefinición de las tablas en la base.
backend/experiments/serializers.pyJSON ↔ modelos Django (List vs Detail).
backend/experiments/views.pyEndpoints REST (ViewSets) + action summary.
backend/experiments/admin.pyAdmin de Django para cargar/inspeccionar datos.
backend/experiments/urls.pyRutas de la API generadas con DefaultRouter.
backend/experiments/management/commands/seed.pyComando python manage.py seed para datos demo.
docs/GUIA_DEMO.mdGuion paso a paso para la demo del training.

Endpoints de la API

MétodoEndpointDescripción
GET/api/projects/Lista de proyectos.
POST/api/projects/Crear un proyecto.
GET/api/projects/{id}/Detalle de un proyecto.
PUT/PATCH/api/projects/{id}/Actualizar un proyecto.
DELETE/api/projects/{id}/Borrar un proyecto.
GET/api/experiments/Lista de experimentos (serializer liviano).
POST/api/experiments/Crear experimento (espera project_id).
GET/api/experiments/{id}/Detalle con proyecto anidado.
PUT/PATCH/api/experiments/{id}/Actualizar experimento.
DELETE/api/experiments/{id}/Borrar experimento.
GET/api/runs/Lista de runs (serializer liviano).
POST/api/runs/Crear run (espera experiment_id).
GET/api/runs/{id}/Detalle del run con experimento anidado.
PUT/PATCH/api/runs/{id}/Actualizar run (status, métricas, etc.).
DELETE/api/runs/{id}/Borrar run.
GET/api/runs/{id}/summary/Resumen: experimento + algoritmo + métricas.
GET/admin/Panel de administración.

Datos de demo

python manage.py seed carga:

  • 2 proyectos: Churn Prediction y Demand Forecasting.
  • 3 experimentos con distintos algoritmos: Random Forest, XGBoost y Linear Regression.
  • 5 runs con distintos status y métricas realistas (accuracy, f1_score, roc_auc, rmse, mae, r2).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages