Quickstart — 5 minutos
Desde cero hasta tu primer modelo entrenado con tracking en MLflow.
Requisitos
- 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.1.1
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:
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.75 # umbral mínimo para registrar el modelo
deploy:
batch_output: ./output/predictions.csv
model_output: ./output/model.pkl
¿Tu dataset tiene datos sensibles?
Agrega compliance PCI-DSS en dos líneas:
governance:
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í:
✅ Config loaded: mi-primer-modelo v1.0.0 [mlflow]
✅ Dataset: ./data/churn.csv (8000 rows × 21 cols)
✅ Split: train=6400, test=1600
✅ Training xgboost...
📊 Métricas
──────────────────────────────
• auc : 0.8734 ✅ (threshold: 0.75)
• accuracy : 0.8125
• f1 : 0.7891
• precision : 0.8012
• recall : 0.7774
✅ Modelo registrado: mi-primer-modelo-xgboost v1
📦 Predicciones → ./output/predictions.csv
📦 Modelo → ./output/model.pkl
Paso 6 — Ver en MLflow UI
mlflow ui --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:
dataset:
uri: ./data/raw.csv
target: churned
dataprep:
steps:
- op: fill_missing
params:
strategy: median
- op: encode_categorical
params:
columns: [contract_type, payment_method]
method: onehot
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:
compliance: pci-dss
policy: mask_sensitive
godml detecta y enmascara emails, números de tarjeta y PII automáticamente antes del entrenamiento.
¿Algo no funcionó?
Revisa la guía de Troubleshooting o abre un issue en GitHub.