Cálculo del error se refiere a la medición de la diferencia.
Entre las predicciones de un modelo y los valores reales.
Permite evaluar su desempeño y mejorar su precisión.
Tipos de Errores en IA
Métricas para calcular el error.
Dependiendo del tipo de problema.
Error en Problemas de Regresión
En problemas donde se predicen valores continuos.
Donde:
yi es el valor real.
y^i es la predicción del modelo.
n es el número total de observaciones.
Cálculo del Error en Problemas de Regresión: Caso Práctico
Objetivo
Evaluar el rendimiento de un modelo de regresión.
Métricas de error como MAE, MSE y RMSE.
Caso Práctico: Predicción del Precio de Casas
Modelo de IA para predecir el precio de casas.
En función de características.
El tamaño en metros cuadrados.
Cantidad de habitaciones.
Entrenamos nuestro modelo y obtenemos predicciones.
En comparación con los valores reales:
| Índice | Precio Real (€) | Precio Predicho (€) |
|---|---|---|
| 1 | 250,000 | 245,000 |
| 2 | 180,000 | 190,000 |
| 3 | 300,000 | 310,000 |
| 4 | 150,000 | 170,000 |
| 5 | 400,000 | 390,000 |
Calcularemos el Error Absoluto Medio (MAE)
Error Cuadrático Medio (MSE)
Raíz del Error Cuadrático Medio (RMSE)
Para medir la precisión del modelo.
import numpy as np
# Datos reales (precios de casas en €)
y_real = np.array([250000, 180000, 300000, 150000, 400000])
# Predicciones del modelo
y_pred = np.array([245000, 190000, 310000, 170000, 390000])
# Cálculo del Error Absoluto Medio (MAE)
mae = np.mean(np.abs(y_real – y_pred))
# Cálculo del Error Cuadrático Medio (MSE)
mse = np.mean((y_real – y_pred) ** 2)
# Cálculo de la Raíz del Error Cuadrático Medio (RMSE)
rmse = np.sqrt(mse)
# Resultados
print(f»MAE: {mae:.2f} €»)
print(f»MSE: {mse:.2f} €²»)
print(f»RMSE: {rmse:.2f} €»)
Interpretación de los Resultados
MAE
Indica el error promedio absoluto.
En las predicciones.
MSE
Penaliza los errores más grandes.
Los eleva al cuadrado.
RMSE
Útil para interpretar el error en la misma unidad.
Que los valores reales.
Si RMSE es bajo significa que el modelo.
Buena precisión en sus predicciones.
Error en Problemas de Clasificación
En problemas donde se predicen clases.
Se usan métricas como:
Error en un problema de regresión usando MSE y RMSE.
import numpy as np
# Valores reales
y_real = np.array([3.0, -0.5, 2.0, 7.0])
# Predicciones del modelo
y_pred = np.array([2.5, 0.0, 2.1, 7.8])
# Cálculo de MSE y RMSE
mse = np.mean((y_real – y_pred) ** 2)
rmse = np.sqrt(mse)
print(«MSE:», mse)
print(«RMSE:», rmse)
Cálculo del Error en Problemas de Clasificación: Caso Práctico
Objetivo
Evaluar el rendimiento de un modelo.
De clasificación utilizando métricas.
Precisión, Exactitud, Recall y F1-Score.
Caso Práctico: Clasificación de Correos como Spam o No Spam
Modelo de IA que clasifica correos electrónicos.
En Spam (1) y No Spam (0)
Después de entrenar nuestro modelo.
Obtenemos las siguientes predicciones.
En comparación con los valores reales:
| Índice | Etiqueta Real (Spam=1, No Spam=0) | Predicción del Modelo |
|---|---|---|
| 1 | 1 (Spam) | 1 (Spam) |
| 2 | 0 (No Spam) | 0 (No Spam) |
| 3 | 1 (Spam) | 0 (No Spam) |
| 4 | 0 (No Spam) | 0 (No Spam) |
| 5 | 1 (Spam) | 1 (Spam) |
| 6 | 0 (No Spam) | 1 (Spam) |
| 7 | 1 (Spam) | 0 (No Spam) |
| 8 | 0 (No Spam) | 0 (No Spam) |
A partir de estos datos, construimos la matriz de confusión.
| Predicción: Spam (1) | Predicción: No Spam (0) | |
|---|---|---|
| Real: Spam (1) | TP = 2 | FN = 2 |
| Real: No Spam (0) | FP = 1 | TN = 3 |
TP (True Positives)
Correos spam correctamente clasificados (2)
FP (False Positives)
Correos No Spam clasificados erróneamente.
Como Spam (1)
FN (False Negatives)
Correos Spam clasificados erróneamente.
Como No Spam (2)
TN (True Negatives)
Correos No Spam correctamente clasificados (3)
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
# Etiquetas reales
y_real = [1, 0, 1, 0, 1, 0, 1, 0]
# Predicciones del modelo
y_pred = [1, 0, 0, 0, 1, 1, 0, 0]
# Cálculo de las métricas
accuracy = accuracy_score(y_real, y_pred)
precision = precision_score(y_real, y_pred)
recall = recall_score(y_real, y_pred)
f1 = f1_score(y_real, y_pred)
# Resultados
print(f»Exactitud (Accuracy): {accuracy:.2f}»)
print(f»Precisión: {precision:.2f}»)
print(f»Recall: {recall:.2f}»)
print(f»F1-Score: {f1:.2f}»)
Interpretación de los Resultados
Indica el porcentaje total.
De predicciones correctas.
Precision (Precisión)
Mide cuántas de las predicciones de Spam.
Fueron realmente Spam.
Recall (Sensibilidad)
Indica qué porcentaje de los correos Spam.
Fueron detectados correctamente.
F1-Score
Es el balance entre Precisión y Recall.
Útil en conjuntos de datos desbalanceados.
Si el F1-Score es alto significa que nuestro modelo clasifica.
Correctamente los correos con una buena relación.
Entre precisión y sensibilidad.
El cálculo del error es clave en el entrenamiento de modelos de IA.
En regresión se usa MAE, MSE, RMSE y MAPE.
En clasificación se usan precisión, entropía cruzada y error de clasificación.
Minimizar el error mejora la precisión del modelo.









