Quickstart — 5 minutos
Desde cero hasta tu primer modelo entrenado con tracking en MLflow.
- Python 3.11, 3.12 o 3.13
- pip 23+
- ~200 MB de disco
Paso 1 — Instalar godml
- pip
- Con virtualenv
- Con conda
pip install godml
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install godml
conda create -n godml python=3.12
conda activate godml
pip install godml
Verifica:
godml --version
# godml 1.2.3
Paso 2 — Crear el proyecto
godml init mi-primer-modelo
cd mi-primer-modelo
Esto genera:
mi-primer-modelo/
├── godml.yml ← aquí defines el pipeline
├── data/
└── output/
Paso 3 — Agregar un dataset
Descarga el dataset de ejemplo (churn de telecomunicaciones):
curl -o data/churn.csv \
https://raw.githubusercontent.com/DAGMALIA/godml/main/examples/data/churn_sample.csv
O usa el tuyo propio — cualquier CSV con una columna objetivo numérica.
Paso 4 — Definir el pipeline
Edita godml.yml:
name: mi-primer-modelo
version: 1.0.0
provider: mlflow
dataset:
uri: ./data/churn.csv
target: churned # columna que quieres predecir
model:
type: xgboost
hyperparameters:
max_depth: 6
eta: 0.3
n_estimators: 100
metrics:
- name: auc
threshold: 0.60 # umbral mínimo para registrar el modelo
deploy:
batch_output: ./output/predictions.csv
model_output: ./output/model.pkl
Agrega compliance PCI-DSS (governance.owner es obligatorio si incluyes este bloque):
governance:
owner: tu-equipo
compliance: pci-dss
policy: mask_sensitive
godml enmascara automáticamente emails, tarjetas y PII antes de entrenar.
Paso 5 — Ejecutar
godml run -f godml.yml
Verás algo así:
╭──────────────────────────────────────────────╮
│ pipeline mi-primer-modelo │
│ dataset ./data/churn.csv │
│ output ./output/predictions.csv │
╰──────────────────────────────────────────────╯
· 12:00:01 dataset → ./data/churn.csv target=churned
· 12:00:01 ✅ Split completado: train=800, test=200
· 12:00:02 ✅ Modelo xgboost cargado desde core
metric value threshold
auc 0.6255 0.60 ✓
accuracy 0.6400 —
precision 0.4561 —
recall 0.3881 —
f1 0.4194 —
╭─────────────────────────────────────────────╮
│ ✓ Pipeline completado │
│ AUC 0.6255 │
│ Accuracy 0.6400 │
│ Output → ./output/predictions.csv │
╰─────────────────────────────────────────────╯
churn_sample.csv tiene señal débil a propósito (para que el quickstart corra en segundos): con estos hiperparámetros el AUC real ronda 0.62–0.66, no un valor alto. Con tus propios datos y algo de dataprep/tuning verás métricas mejores — ve al Paso 6 y a "¿Qué sigue?" para eso.
Paso 6 — Ver en MLflow UI
mlflow ui --backend-store-uri sqlite:///mlflow.db --host 0.0.0.0 --port 5001
Abre http://localhost:5001 — verás el experimento con todas las métricas, hiperparámetros y artefactos registrados automáticamente.
¿Qué sigue?
- Limpiar datos
- Escalar a AWS
- Agregar compliance
Agrega transformaciones declarativas (la receta embebida necesita su propio inputs/outputs, igual que una receta de dataprep standalone):
dataset:
uri: ./data/raw.csv
target: churned
dataprep:
inputs:
- name: raw
connector: csv
uri: ./data/raw.csv
outputs:
- name: clean
connector: csv
uri: ./data/raw.csv
steps:
- op: fillna
params:
columns: [monthly_charges]
value: 0
- op: one_hot
params:
columns: [contract_type, payment_method]
drop_first: true
Cambia una línea y ejecuta en SageMaker:
provider: sagemaker # ← solo esto cambia
aws:
role_arn: ${SAGEMAKER_ROLE_ARN}
region: us-east-1
s3_bucket: mi-bucket
dataset:
uri: s3://mi-bucket/data/churn.csv # ← S3 en vez de local
pip install godml[aws]
godml run -f godml.yml
governance:
owner: tu-equipo # obligatorio si defines 'governance'
compliance: pci-dss
policy: mask_sensitive
godml detecta y enmascara emails, números de tarjeta y PII automáticamente antes del entrenamiento.
Revisa la guía de Troubleshooting o abre un issue en GitHub.