Descubre cómo la predicción conformada ofrece una estimación de la incertidumbre independiente de la distribución para la IA. Implementa conjuntos de predicción con Ultralytics para garantizar resultados fiables del modelo.
La predicción conformada es un marco estadístico en el aprendizaje automático (ML) que proporciona medidas de incertidumbre independientes de la distribución para las predicciones de los modelos. En lugar de generar una predicción puntual —como una etiqueta de clase específica—, un predictor conformado genera un conjunto de predicciones o un intervalo que contiene el valor verdadero con una probabilidad especificada por el usuario (por ejemplo, el 90 % o el 95 %). Este marco se adapta a cualquier modelo de inteligencia artificial (IA) para proporcionar garantías estadísticas formales sin necesidad de modificar la arquitectura del modelo. Para obtener una lista exhaustiva de herramientas e investigaciones actualizadas, puedes explorar el repositorio Awesome Conformal Prediction.
El mecanismo fundamental se basa en evaluar el grado de anomalía de una nueva predicción en comparación con ejemplos anteriores mediante una puntuación de no conformidad.
Puedes consultar las demostraciones matemáticas de este enfoque en el tutorial «Una introducción sencilla a la predicción conformada » o informarte sobre los métodos de predicción de series temporales para gestionar las incertidumbres temporales.
Es fundamental distinguir este marco de los parámetros habituales que se utilizan durante las pruebas de modelos:
La predicción conforme es indispensable en ámbitos de alto riesgo, donde resulta fundamental conocer los puntos ciegos del modelo.
Bibliotecas como MAPIE (Model Agnostic Prediction Interval Estimator) ofrecen herramientas integradas para Python, y las tareas de regresión suelen utilizar la regresión cuantílica conformada. También se puede implementar una lógica básica de predicción conformada utilizando probabilidades de modelos avanzados como Ultralytics . El siguiente ejemplo crea un conjunto de predicciones utilizando las probabilidades de clasificación de YOLO26, imitando la lógica de incluir las clases principales hasta que se alcance un umbral acumulativo.
from ultralytics import YOLO
# Load an Ultralytics YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Simple conformal-style prediction set logic based on cumulative probability
target_coverage = 0.95
prediction_set = []
cumulative_prob = 0.0
# Sort probabilities in descending order using the results object
probs = results[0].probs
sorted_indices = probs.top5
for idx in sorted_indices:
class_name = results[0].names[idx]
class_prob = probs.data[idx].item()
prediction_set.append((class_name, round(class_prob, 3)))
cumulative_prob += class_prob
# Stop adding to the set once we reach the 95% coverage threshold
if cumulative_prob >= target_coverage:
break
print(f"95% Prediction Set: {prediction_set}")
El desarrollo de sistemas fiables requiere prácticas sólidas en materia de datos para evitar que la deriva de los datos comprometa la calibración. Herramientas como la Ultralytics simplifican el proceso de recopilación de nuevos conjuntos de datos de clasificación, el reentrenamiento de modelos y la gestión segura de la implementación de los modelos. Puede obtener más información sobre la selección de datos equilibrados en nuestra guía sobre cómo entender el sesgo en los conjuntos de datos, o track últimos avances presentados en la conferencia anual de COPA.

Comience su viaje con el futuro del aprendizaje automático