Curso 2 · Modulo 4 · Aplicaciones de ML en mineria

27. Aplicaciones con aprendizaje supervisado

Que problemas de flotacion puedo atacar cuando tengo una variable objetivo clara?

Mate MathPlay · Flotacion Cu · Archivo de trabajo: flotacion_cobre.xlsx

Flotacion CuExcelPythonAplicaciones supervisadas

Aplicaciones con aprendizaje supervisado

Usamos regresion y clasificacion para estimar recuperacion, riesgo y probabilidad de evento.

Mapa rapido

ComponenteUso en clase
ExcelPendiente, regresion y reglas de clasificacion.
PythonLinearRegression + LogisticRegression
ML / mineria de datosPrediccion con variable objetivo conocida

1. Pregunta de planta

Aprendizaje supervisado se usa cuando tengo ejemplos historicos con respuesta conocida: recuperacion medida, evento ocurrido, severidad registrada o KPI final. El modelo aprende la relacion entre variables de entrada y salida.

2. Matematica simple

X son variables de planta. y es lo que quiero estimar.

Regresion: y numerica, por ejemplo recuperacion.
Clasificacion: y categorica, por ejemplo evento si/no.

3. Aplicacion en mineria

Casos: estimar recuperacion, anticipar sobre-espumacion, predecir ley de concentrado, clasificar condicion de riesgo, priorizar turnos con probabilidad alta de desviacion.

4. Excel

Regresion simple:
=PENDIENTE(recuperacion, flujo_aire)
=INTERSECCION.EJE(recuperacion, flujo_aire)

Clasificacion simple:
=SI(score_riesgo>0.7,1,0)

5. Python

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression, LogisticRegression
from sklearn.metrics import mean_absolute_error, classification_report

df = pd.read_excel("flotacion_cobre.xlsx")
features = ["ley_cabeza_cu", "densidad_pulpa", "p80", "flujo_aire", "nivel_celda", "ph", "dosificacion_espumante"]

# Regresion: recuperacion
X = df[features]
y_reg = df["recuperacion_cu"]
X_train, X_test, y_train, y_test = train_test_split(X, y_reg, test_size=0.2, random_state=42)
reg = LinearRegression().fit(X_train, y_train)
pred_reg = reg.predict(X_test)
print("MAE recuperacion:", mean_absolute_error(y_test, pred_reg))

# Clasificacion: evento
y_clf = df["evento_sobre_espumacion"]
X_train, X_test, y_train, y_test = train_test_split(X, y_clf, test_size=0.2, random_state=42, stratify=y_clf)
clf = LogisticRegression(max_iter=1000).fit(X_train, y_train)
pred_clf = clf.predict(X_test)
print(classification_report(y_test, pred_clf))

6. Cierre aplicativo

Mensaje final: El aprendizaje supervisado es potente cuando la variable objetivo esta bien definida y el dato historico representa de verdad la operacion que quiero apoyar.

← Leccion anteriorDescargar datosSiguiente leccion →