Enfoque guía: Aplicaciones con aprendizaje supervisado
Soft sensor, alerta de espuma y pronóstico — listos para piloto en planta
Ver concepto general MathPlay · Ruta IA matemática (MathPlay) →Curso 2 — Aplicaciones ML en minería · Módulo 4 · Unidad 1 de 3
Aplicaciones con aprendizaje supervisado
Integrar regresión, clasificación y series de tiempo en un flujo de piloto
Puente Módulo 1 → planta
Unidades 16, 17 y 19 enseñaron los algoritmos. Aquí el checklist de piloto: datos, entrenamiento, validación temporal, despliegue y revisión con metalurgia.
1. Tres aplicaciones supervisadas (flotación Cu)
| Aplicación | Modelo | KPI éxito | Demo |
|---|---|---|---|
| Soft sensor recuperación | Regresión lineal / RF | MAE en pp | ~1,3 pp |
| Alerta sobre-espumación | Logística / RF clasif. | Recall evento | evento raro 12 % |
| Pronóstico 1 h | Regresión + lags | MAE h+1 | lags U19 |
Pipeline de piloto
1. Datos 6 meses historiador + lab (no solo 120 h demo)
2. Features U23 + limpieza U24
3. Split TEMPORAL (último 20 % = test)
4. Entrenar · guardar .pkl · documentar versión
5. Piloto 4 semanas: operador ve ŷ y alerta, NO auto-actuación
6. Revisión metalurgia: ajustar umbral recall/precision
Gobernanza: el modelo no cierra válvulas en fase 1. Solo informa. Automatizar requiere HAZOP y aprobación formal.
2. Criterios de “listo para planta”
- MAE soft sensor < costo de 1 pp de error (definido por finanzas)
- Recall espuma > umbral acordado (p.ej. 80 %)
- Explicación disponible para el turno (coeficientes o reglas)
- Drift monitoreado: recalibrar si MAE sube 2 meses seguidos
3. Excel — validación de piloto
CSV demo · hoja test con predicciones guardadas.
=' MAE piloto:
=PROMEDIO(ABS(G_test - pred_test))
=' Recall espuma:
=CONTAR.SI.CONJUNTO(real_espuma;1; pred_espuma;1)/CONTAR.SI(real_espuma;1)
=' Gráfico: rec real vs estimada últimas 30 h
4. Python — exportar modelos piloto
import pandas as pd
import joblib
from sklearn.linear_model import LinearRegression, LogisticRegression
from sklearn.metrics import mean_absolute_error, recall_score
features = ["ph","p80_um","flujo_aire","dosif_espumante_ml_min","nivel_celda_pct","ley_cabeza_cu_pct"]
df = pd.read_csv("datos_flotacion_demo.csv")
split = int(len(df) * 0.8)
train, test = df.iloc[:split], df.iloc[split:]
reg = LinearRegression().fit(train[features], train["recuperacion_cu_pct"])
clf = LogisticRegression(max_iter=500, class_weight="balanced")
clf.fit(train[features], train["sobre_espumacion"])
pred_rec = reg.predict(test[features])
pred_evt = clf.predict(test[features])
print("MAE:", round(mean_absolute_error(test["recuperacion_cu_pct"], pred_rec), 2))
print("Recall:", round(recall_score(test["sobre_espumacion"], pred_evt), 2))
joblib.dump(reg, "soft_sensor_rec_v1.pkl")
joblib.dump(clf, "alerta_espuma_v1.pkl")
5. Investigación sugerida
Redacta el plan de piloto de 4 semanas: responsables, métricas semanales, criterio de éxito y de rollback.
Regístrate al boletín MathPlay
Datos, simulación, visualización, IA y tecnología aplicada a problemas reales de industria y minería.
Sin calendario fijo. Sin spam.
Listo. Te escribo cuando haya algo nuevo.
