20. Clustering
¿Cómo descubrir modos de operación sin etiquetas?
Clustering
Agrupamos condiciones de flotación parecidas para encontrar zonas estables, transiciones y posibles zonas de riesgo.
1. Pregunta de planta
En aprendizaje no supervisado no le damos al modelo una respuesta correcta. Le pedimos que encuentre grupos o patrones en los datos.
2. Matemática simple
Clustering se basa en cercanía. Dos horas pertenecen al mismo grupo si sus variables se parecen.
K-Means busca centros y asigna cada fila al centro más cercano.
3. Aplicación en flotación
| Grupo posible | Lectura operacional | Qué revisar |
|---|---|---|
| Cluster estable | Recuperación alta, score bajo, variables dentro de rango. | Condición de referencia. |
| Cluster transición | Variables moviéndose, pero sin evento confirmado. | Vigilar tendencia. |
| Cluster riesgo | Score alto, espumante o nivel elevados. | Revisar espuma, aire, nivel y reactivos. |
4. Excel: clustering manual simplificado
Excel no necesita entrenar K-Means para explicar la idea. Primero se estandarizan variables y se calcula cercanía a condiciones tipo.
Z-score
Distancia a operación normal
Grupo simple
5. Python: K-Means aplicado
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
archivo = "flotacion_cobre.xlsx"
df = pd.read_excel(archivo)
features = [
"recuperacion_cu", "flujo_aire", "nivel_celda", "ph",
"dosificacion_espumante", "p80", "densidad_pulpa", "score_riesgo"
]
X = df[features]
X_scaled = StandardScaler().fit_transform(X)
kmeans = KMeans(n_clusters=3, random_state=42, n_init=10)
df["cluster"] = kmeans.fit_predict(X_scaled)
resumen = df.groupby("cluster")[features + ["evento_sobre_espumacion"]].mean()
print(resumen)6. Lectura operativa
El cluster no dice la causa. Dice: estas horas se parecen entre sí y son distintas a otras.
- Si un cluster concentra eventos, puede ser una zona de riesgo.
- Si un cluster tiene baja recuperación, merece revisión metalúrgica.
- Si un turno aparece mucho en un cluster, se revisa contexto operacional.
Mensaje final: clustering ayuda a descubrir modos de operación sin decirle al modelo qué buscar. Es una linterna para explorar datos de planta.
