SignalMod / docs /PIPELINE.es.md
Mirae Kang
feat: implement new models and improve UI, #23
46cc63a
|
raw
history blame
1.59 kB
# Pipeline de entrenamiento
Punto de entrada: [`src/pipeline/run_pipeline.py`](../src/pipeline/run_pipeline.py)
## Comando
```bash
python -m src.pipeline.run_pipeline --model lr
```
| Flag | Valores | Por defecto |
|------|---------|-------------|
| `--model` | `lr`, `rf`, `xgboost` | `lr` |
Ejecutar desde la raíz del repositorio.
## Fases
1. **Carga** — CSV en `data/raw/youtoxic_english_1000.csv`
2. **Split** — train/test estratificado
3. **Preprocesado**`TextPreprocessor` (spaCy + NLTK)
4. **Entrenamiento**`build_model()`
5. **Validación cruzada** — 5 folds
6. **Evaluación**`Evaluator.evaluate_and_report()` en test
7. **Guardado**`models/experiments/{model}/`
8. **MLflow**`mlruns/`
9. **Informes**`reports/summary.csv` y `reports/pipeline/{model}/`
## Configuración
| Archivo | Uso |
|---------|-----|
| `configs/pipeline.yaml` | Rutas, `IsToxic`, split, CV |
| `configs/features.yaml` | TF-IDF y preprocesado |
| `configs/models.yaml` | Hiperparámetros de clasificadores |
| `configs/best_params.yaml` | Ganador Optuna (LR) |
## Salidas
| Ruta | Contenido |
|------|-----------|
| `reports/summary.csv` | Tabla comparativa de modelos |
| `reports/pipeline/lr/cm_lr.png` | Matriz de confusión |
| `reports/pipeline/lr/roc_lr.png` | Curva ROC |
| `reports/pipeline/lr/errors_lr.csv` | FP / FN |
## Inferencia del demo
Catálogo en [`configs/model_catalog.yaml`](../configs/model_catalog.yaml): **Meta-Feature Stacking** (producción), **LR + TF-IDF** y **Frozen Toxic-BERT** (baselines en `models/baseline/manifest.json`).