Data Visualization
La visualización de datos los representa mediante gráficos, diagramas y mapas para hacer visibles los patrones, los valores atípicos y los errores, desde las auditorías de conjuntos de datos hasta las curvas de entrenamiento.
La visualización de datos es la representación gráfica de los datos: codifica valores mediante posiciones, longitudes, colores o formas en gráficos, diagramas, mapas e imágenes anotadas, para que las personas puedan detectar patrones, valores atípicos y errores que quedan ocultos en las tablas de números. La visualización exploratoria ayuda a los analistas a comprender los datos durante el análisis exploratorio de datos, una práctica que John Tukey defendió en su libro homónimo de 1977; la visualización explicativa comunica los hallazgos a otras personas. En el aprendizaje automático y la visión artificial, permite auditar conjuntos de datos, seguir el entrenamiento, diagnosticar errores de los modelos y explicar predicciones.
Por qué importa la visualización#
En 1973, el estadístico Francis Anscombe defendió su postura con cuatro pequeños conjuntos de datos, que hoy se conocen como el cuarteto de Anscombe y comparten estadísticas resumidas prácticamente idénticas:
import matplotlib.pyplot as plt
import numpy as np
# Anscombe's quartet: four datasets of 11 (x, y) points each
x = [10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5]
quartet = {
"I": (x, [8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68]),
"II": (x, [9.14, 8.14, 8.74, 8.77, 9.26, 8.10, 6.13, 3.10, 9.13, 7.26, 4.74]),
"III": (x, [7.46, 6.77, 12.74, 7.11, 7.81, 8.84, 6.08, 5.39, 8.15, 6.42, 5.73]),
"IV": ([8] * 7 + [19] + [8] * 3, [6.58, 5.76, 7.71, 8.84, 8.47, 7.04, 5.25, 12.50, 5.56, 7.91, 6.89]),
}
# Print each dataset's summary statistics and draw its scatter plot side by side
fig, axes = plt.subplots(1, 4, figsize=(12, 3), sharex=True, sharey=True)
for ax, (name, (xs, ys)) in zip(axes, quartet.items()):
r = np.corrcoef(xs, ys)[0, 1]
print(f"{name}: mean y {np.mean(ys):.2f}, variance y {np.var(ys, ddof=1):.2f}, correlation {r:.3f}")
ax.scatter(xs, ys)
ax.set_title(f"Dataset {name}")
fig.savefig("anscombe.png")Los cuatro conjuntos de datos muestran una media de y de 7,50, una varianza de 4,12 o 4,13 y una correlación de 0,816 o 0,817; sin embargo, los gráficos resultantes no se parecen en nada: el conjunto I presenta una tendencia lineal con ruido; el II, una curva suave; el III, una línea perfecta con un valor atípico; y el IV, una columna vertical de puntos cuya correlación se debe por completo a un único punto muy alejado. En 2017, investigadores de Autodesk ampliaron la idea con Datasaurus Dozen: trece conjuntos de datos con las mismas estadísticas, uno de los cuales dibuja un dinosaurio.
Cómo elegir un gráfico#
Un gráfico es eficaz cuando su codificación se ajusta a la pregunta. Los gráficos de barras sirven para comparar categorías; los de líneas, para mostrar tendencias a lo largo del tiempo; los histogramas y diagramas de caja, para representar distribuciones; los diagramas de dispersión, para mostrar relaciones entre dos variables; y los mapas y mapas de calor, para representar patrones espaciales. En sus experimentos de percepción gráfica de 1984, William Cleveland y Robert McGill descubrieron que las personas juzgan con mayor precisión las posiciones en una escala común, seguidas de las longitudes, los ángulos, las áreas y, por último, los tonos de color. Por eso, los gráficos de barras y de puntos superan a los circulares cuando se necesitan comparaciones precisas. Para representar categorías y magnitudes, el color funciona mejor con mapas de colores perceptualmente uniformes y aptos para personas daltónicas, como viridis, el mapa predeterminado de Matplotlib desde la versión 2.0.
Visualización en aprendizaje automático#
- Auditorías de sesgo en los conjuntos de datos: Los histogramas de clases ponen de manifiesto los desequilibrios; los mapas de las posiciones y tamaños de las cajas revelan objetos que siempre aparecen en una región o a una escala determinadas; y las cuadrículas de imágenes ayudan a detectar errores en las etiquetas.
- Curvas de la función de pérdida: Las gráficas de la pérdida de entrenamiento y validación por época muestran la convergencia; si la pérdida de validación aumenta mientras la de entrenamiento disminuye, es señal de sobreajuste.
- Matrices de confusión y curvas de precisión-recall: Muestran qué clases confunde un modelo y cómo cambia la precisión respecto al recall al variar el umbral de confianza.
- Mapas de embeddings con t-SNE: Proyecciones como t-SNE sitúan cerca unas de otras las muestras similares en dos dimensiones, lo que permite descubrir agrupaciones, duplicados y valores atípicos.
- Mapas de saliencia y superposiciones de predicciones: Dibujan cajas, máscaras o puntos clave sobre las imágenes y resaltan los píxeles que han influido en una decisión.
Los sistemas de seguimiento de experimentos, como TensorBoard y Weights & Biases, representan estas métricas en tiempo real a lo largo de muchas ejecuciones de entrenamiento, por lo que el sobreajuste se hace visible en cuanto la pérdida de validación empieza a aumentar. Ultralytics YOLO también guarda de forma predeterminada los gráficos principales en la carpeta de cada ejecución de entrenamiento: labels.jpg muestra el número de instancias por clase, una muestra de las formas de las cajas e histogramas 2D de los centros de las cajas delimitadoras y de la relación entre la anchura y la altura de las cajas; results.png representa cada pérdida y métrica por época; y la validación añade matrices de confusión y curvas de precisión-recall.
Visualización de datos y conceptos relacionados#
- Analítica de datos: Proceso más amplio que consiste en inspeccionar, limpiar y modelar datos para responder preguntas. La visualización es una de sus principales herramientas de exploración y presentación de resultados.
- IA explicable (XAI): Explica por qué un modelo ha tomado una decisión; entre sus principales resultados se encuentran las visualizaciones, como los mapas de saliencia.
- Minería de datos: Utiliza algoritmos para encontrar patrones automáticamente en grandes conjuntos de datos; la visualización suele presentar los patrones que descubre.
- Cuadros de mando: Conjuntos de gráficos en una misma pantalla que permiten seguir las métricas clave a lo largo del tiempo; son habituales en las herramientas de inteligencia empresarial y en la supervisión de modelos en producción.










