Caso aplicado · Enfoque clase

Enfoque clase: Operaciones con matrices

¿Como organizo los datos para analizarlos?

Mate MathPlay · Flotación Cu · Material revisado

Flotación CuExcelPython
Ver concepto general MathPlay →
Inteligencia artificial aplicada a minería · Módulo 2

Operaciones con matrices en flotación de cobre

Cómo convertir una tabla histórica de planta en la estructura que usa Excel, Python y machine learning.

Idea Central

Entramos al Módulo 2 con una idea simple:

Una tabla histórica de planta es una matriz.

Cada fila representa un momento de operación. Cada columna representa una variable. Para machine learning, esa tabla se convierte en una matriz llamada X.

1. Matemática Simple

Una matriz es una tabla de números organizada en filas y columnas.

p80 aire nivel espumante hora 1 160 120 70 30 hora 2 165 125 72 31 hora 3 190 150 86 45 hora 4 195 155 89 48
Filas

Estado de planta

fila 3 = [190, 150, 86, 45]

En esa hora, el P80 fue 190, el aire 150, el nivel 86 y el espumante 45.

Columnas

Historial de una variable

columna aire = [120, 125, 150, 155]

Así evolucionó el flujo de aire en el tiempo.

Vector objetivo

Para regresión: y = [92.5, 91.8, 87.2, 86.5] Para clasificación: y = [0, 0, 1, 1]

2. Aplicación Al Caso De Sobre-Espumación

Problema: en una planta concentradora de cobre ocurre sobre-espumación en celdas de flotación. Esto desestabiliza nivel de pulpa, espuma, arrastre, ley de concentrado y recuperación.

Pregunta operativa: ¿podemos detectar condiciones que anticipan la sobre-espumación y estimar su impacto sobre la recuperación?

Con matrices, la pregunta se vuelve: ¿cómo organizo las variables históricas para que puedan ser analizadas por Excel, Python o machine learning?

3. De Excel A Matriz

fecha_hora p80 flujo_aire nivel_celda espumante recuperación evento
01/05 00:00160120703092.50
01/05 01:00165125723191.80
01/05 02:00190150864587.21
01/05 03:00195155894886.51
X Variables de entrada: P80, aire, nivel, espumante, pH, densidad.
y Objetivo: recuperación para regresión o evento para clasificación.

4. Operaciones Básicas

Operación Pregunta de planta Ejemplo
Seleccionar columnas Qué variables usaremos? X = P80, aire, nivel, espumante, pH
Seleccionar filas Toda la historia o una ventana? Filas 1-96 normal; 97-140 problema
Multiplicar por coeficientes Cómo se calcula una predicción? y_estimado = X @ beta

Idea base de muchos modelos

predicción = X * coeficientes + intercepto recuperación_estimada = b0 + b1*p80 + b2*aire + b3*nivel + b4*espumante

5. Indicadores Del PPT En Forma De Matriz

Grupo de variables Columnas candidatas Uso en matriz
Entrada mineral ley_cabeza_cu, p80 Condición inicial del proceso
Control operacional flujo_aire, nivel_celda, densidad_pulpa Variables manipulables o monitoreables
Control químico ph, dosificacion_espumante, dosificacion_colector Estado químico de flotación
Resultado metalúrgico recuperacion_cu, ley_concentrado_cu, ley_relave_cu Variables objetivo o evaluación
Evento evento_sobre_espumacion Etiqueta para clasificación

6. Excel: Ejercicio Guiado

Archivo de trabajo: Abre o descargue flotacion_cobre.xlsx

flotacion_cobre.xlsx

Hoja: Datos

Identificar matriz X

Columnas de entrada: C = ley_cabeza_cu G = densidad_pulpa H = p80 I = flujo_aire J = nivel_celda K = ph L = dosificacion_espumante M = dosificacion_colector

Identificar y

Para regresión: y = F, recuperacion_cu Para clasificación: y = N, evento_sobre_espumacion

Predicción lineal manual

=100 + (-0.03*H2) + (-0.01*I2) + (-0.05*J2) + (-0.08*L2)

Multiplicación matricial

=MMULT(rango_X,rango_pesos) En algunas configuraciones: =MULT.MATRIZ(rango_X,rango_pesos)

7. Python: Mismo Concepto

Archivo de trabajo: Abre o descargue flotacion_cobre.xlsx

import pandas as pd

df = pd.read_excel(
    "flotacion_cobre.xlsx",
    sheet_name="Datos"
)

Crear matriz X

features = [
    "ley_cabeza_cu",
    "densidad_pulpa",
    "p80",
    "flujo_aire",
    "nivel_celda",
    "ph",
    "dosificacion_espumante",
    "dosificacion_colector"
]

X = df[features]

Crear objetivos

y_recuperacion = df["recuperacion_cu"]
y_evento = df["evento_sobre_espumacion"]

Ver dimensiones

X.shape
Salida esperada: (240, 8) 240 filas = registros históricos 8 columnas = variables de entrada
Ver funcionando código python

8. Puente Hacia Machine Learning

Archivo de trabajo: Abre o descargue flotacion_cobre.xlsx

Todo modelo supervisado necesita esta estructura:

X = matriz de datos de entrada y = objetivo que quiero predecir

Regresión: estimar recuperación

from sklearn.linear_model import LinearRegression

X = df[features]
y = df["recuperacion_cu"]

modelo = LinearRegression()
modelo.fit(X, y)

Clasificación: anticipar evento

from sklearn.linear_model import LogisticRegression

X = df[features]
y = df["evento_sobre_espumacion"]

modelo = LogisticRegression(max_iter=1000)
modelo.fit(X, y)
Ver funcionando código python

9. Cierre Conceptual

Las operaciones con matrices permiten pasar de esta pregunta:

Tengo muchas columnas de datos, ¿qué hago con ellas?

A esta otra:

¿Cómo organizo mis variables para que Excel, Python o machine learning puedan calcular, comparar y predecir?
Mensaje final: una matriz no es algo lejano a la planta. Es la forma matemática de una tabla histórica. Si cada fila representa una condición operativa y cada columna representa una variable, ya tenemos la estructura base para construir análisis, alertas y modelos predictivos.

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.

← Volver al caso