La visualización de datos es la representación gráfica de datos mediante el uso de elementos visuales como tablas, gráficos, gráficos y paneles. Ayuda a interpretar datos complejos a stakeholders o a una audiencia no técnica que pueda utilizarlos para la toma de decisiones.
En machine learning (ML), significa más que crear un panel o un informe. Implica construir, depurar y mejorar los modelos de ML. Se utiliza para interrogar los datos antes del entrenamiento, monitorear lo que ocurre durante el entrenamiento y diagnosticar qué salió mal o bien tras la evaluación. Se trata menos de presentación y más de investigación.
En la práctica, ambos se superponen. Un buen profesional de machine learning o de ciencia de datos usa la visualización de datos para sí mismo para detectar problemas y optimizar modelos, y para que otros expliquen los resultados y generen confianza en los resultados de los modelos.
La visualización de datos en machine learning afecta directamente la calidad de sus modelos, las decisiones que toma y hasta qué punto los demás entienden su trabajo.
La visualización se ejecuta en todo el flujo de trabajo de ML desde el momento en que usted recibe datos sin procesar hasta la evaluación final de su modelo. Aquí es donde aparece en cada etapa. Las técnicas de visualización mencionadas en cada paso se analizarán en detalle en las secciones posteriores.
Antes de comenzar cualquier análisis, usted necesita entender con qué está trabajando. Esto implica comprobar valores faltantes, tipos de datos inconsistentes y registros duplicados, porque cualquier problema estructural en los datos en esta etapa corromperá silenciosamente todo lo que sigue. Los mapas de calor de valores faltantes, los cuadros de distribución de tipos de datos y los gráficos de frecuencia de registros brindan una perspectiva rápida y confiable del estado de los datos antes de que invierta tiempo en construir sobre ellos.
El análisis exploratorio de datos ayuda a comprender la estructura, distribución y relaciones en el conjunto de datos antes de construir cualquier cosa mediante el uso de histogramas, gráficos de dispersión, matrices de correlación, diagramas de caja y gráficos de pares con patrones de superficie, anomalías y relaciones que los números puros por sí solos no revelarán. El EDA es iterativo por naturaleza: usted visualiza algo, forma una hipótesis, lo prueba y lo vuelve a visualizar hasta que realmente entiende lo que dicen los datos.
Después de entender los datos sin procesar, usted comienza a transformar y seleccionar características para el modelo. Visualizar sus datos en este punto le permite verificar que sus transformaciones están haciendo lo que espera y le ayuda a descubrir qué características son realmente útiles. Comprender los gráficos de distribución, los gráficos de importancia de características o cómo se comportan las características en diferentes grupos objetivo convierte el preprocesamiento arbitrario en opciones que se pueden justificar claramente.
A medida que se entrena el modelo de machine learning, la visualización deja de tratarse de examinar los datos y se convierte en una forma de rastrear el proceso de aprendizaje del modelo. Los gráficos como las curvas de aprendizaje o de pérdida revelan si el modelo está mejorando, o se está estabilizando o sobreajustando. Ese feedback permite afinar hiperparámetros, ajustar la regularización o cambiar la duración del entrenamiento antes de que termine el trabajo.
Tras el entrenamiento, la visualización es la forma de ir más allá de un único dato de precisión y comprender realmente cómo funciona el modelo. Las matrices de confusión, las curvas ROC, las curvas de recuperación de precisión y los gráficos residuales revelan una dimensión diferente del comportamiento del modelo. Desglosan el rendimiento por clase, a través de umbrales y en todo el rango de valores predichos, para que sepa no solo qué tan bien funciona el modelo, sino dónde es eficaz y dónde falla.
Comprender los tipos de visualización de datos utilizados en machine learning significa pensar en términos de casos de uso, no solo en nombres de gráficos. Este es un desglose estructurado al respecto.
Un histograma muestra cómo se distribuye una sola característica numérica. Divide los valores en contenedores en el eje x y cuenta cuántos puntos de datos caen en cada contenedor en el eje y. En Python, utilizando herramientas como matplotlib o seaborn, trazar un histograma muestra rápidamente si una característica parece normal, sesgada a la derecha, bimodal o casi uniforme.
Cada patrón sugiere un paso de preprocesamiento diferente. Por ejemplo, usted podría crear un histograma de los precios de los productos y ver que la mayoría están por debajo de los 50 USD, pero con un tramo largo que llega hasta los 500 USD. Ese patrón sugiere que la función se beneficiaría de una transformación de registro antes de usarla en un modelo.
Los diagramas de dispersión colocan dos variables numéricas en el eje X y Y, con cada punto de datos representado como un punto. Son útiles para notar patrones lineales y no lineales, identificar dónde se forman los clústeres y marcar valores atípicos que se encuentran lejos del resto de los datos. Por ejemplo, al representar gráficamente el tamaño de una vivienda en función del precio de venta, se podría observar una clara tendencia al alza hasta alcanzar un determinado umbral de tamaño, tras el cual los precios se estabilizan, un patrón que vale la pena investigar antes del entrenamiento.
Una matriz de correlación muestra la correlación por pares entre cada característica numérica del conjunto de datos. Representado como un mapa de calor, donde el color de la celda codifica la fuerza de correlación, hace que la multicolinealidad sea visible de un vistazo. Las características con una correlación de 0.95 o superior suelen ser candidatas para su eliminación durante la selección de características, ya que contienen información redundante.
La correlación captura solamente relaciones lineales, por lo que una correlación cercana a cero no significa que dos características sean independientes. Por ejemplo, “habitaciones totales” y “dormitorios totales” en un conjunto de datos de vivienda casi siempre mostrarán una correlación muy alta y mantener ambos no agrega nueva información al modelo.
Los diagramas de caja ofrecen un resumen rápido de cómo se distribuye una variable mostrando la mediana, el rango principal de datos (el rango intercuartil) y cualquier valor atípico. Son especialmente útiles en machine learning para comparar cómo una característica numérica difiere entre grupos objetivo, como observar los ingresos de quienes incumplieron un préstamo frente a quienes no lo hicieron.
Los gráficos de pares generan una cuadrícula de diagramas de dispersión para cada combinación de características numéricas en el conjunto de datos, con histogramas o diagramas de densidad a lo largo de la diagonal. La función pairplot() de Seaborn genera estos gráficos en una sola línea. Para conjuntos de datos con hasta 10–15 características, los gráficos de pares ofrecen una visión general rápida y multivariante que requeriría muchos gráficos individuales para replicarla.
En este contexto, las características se refieren simplemente a las columnas individuales del conjunto de datos, como la edad, los ingresos o la frecuencia de compra. Por ejemplo, un par de gráficos para un conjunto de datos de ventas podría revelar rápidamente que los ingresos y las unidades vendidas se mueven muy juntos, mientras que la tasa de descuento no se relaciona mucho con ninguno de los dos. Insights como ese pueden ayudar a decidir qué características vale la pena mantener.
Los gráficos de densidad son como versiones más uniformes de los histogramas. Son útiles para comparar cómo se distribuye una función en dos grupos. Cuando las curvas están separadas, la característica suele tener un fuerte valor predictivo. Pero si se superponen, resulta menos útil.
Por ejemplo, si se grafica la densidad de "frecuencia de compra" para clientes leales frente a clientes que abandonaron y las dos líneas forman picos claramente separados, es una buena señal de que la característica ayudará en un modelo de predicción de abandono.
Se pueden extraer puntuaciones de importancia de las características después de entrenar un modelo y visualizarlos en un gráfico de barras para ver qué características son más importantes. Los modelos basados en árboles de decisión son un ejemplo común, ya que proporcionan de forma natural estas puntuaciones de importancia. Las características con muy baja importancia suelen ser buenas candidatas para eliminar, y herramientas como Plotly o matplotlib pueden crear fácilmente estos gráficos incluso cuando hay muchas características.
Estos gráficos comparan la distribución de una característica antes y después de una transformación (escalado, codificación, transformación logarítmica) y confirman si el paso de preprocesamiento logró el efecto previsto. Esta comparación es importante porque introducir una característica mal transformada en un modelo puede distorsionar las predicciones, y un simple gráfico comparativo detectará ese problema antes de que llegue al entrenamiento.
Una curva de aprendizaje es un tipo de visualización de entrenamiento del modelo que traza el rendimiento del modelo (precisión o pérdida) en el eje Y contra el tamaño del conjunto de entrenamiento o las iteraciones de entrenamiento en el eje X, con líneas separadas para el entrenamiento y la validación.
Esta visualización única diagnostica los dos modos de falla más comunes del modelo de ML: sobreajuste (gran brecha entre el rendimiento del entrenamiento y la validación) y subajuste (ambas líneas son bajas y convergen rápidamente). Ajustar la complejidad del modelo, la regularización o el tamaño de los datos de entrenamiento se convierte en un proceso específico en lugar de una mera conjetura una vez que se puede observar la curva de aprendizaje.
Para los modelos de aprendizaje profundo, trazar la pérdida de entrenamiento y la pérdida de validación a lo largo de las épocas es una práctica estándar. Una pérdida de validación que deja de mejorar o comienza a aumentar mientras la pérdida de entrenamiento continúa cayendo es la señal para detener el entrenamiento antes de tiempo. Estos gráficos generalmente se generan en tiempo real a través de herramientas como TensorBoard durante el entrenamiento.
De forma más amplia, los gráficos de líneas que siguen cualquier métrica (precisión, puntuación F1, área bajo la curva) durante iteraciones de entrenamiento ofrecen una imagen continua de cómo evoluciona el modelo. Son más informativos que una única métrica de fin de capacitación porque muestran la trayectoria, no solo el destino.
Una matriz de confusión es un tipo de visualización de evaluación de modelos que establece cada combinación de etiquetas de clase reales y predichas en una cuadrícula, verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos, para que se pueda ver exactamente dónde es correcto el modelo y dónde está mal.
Es la base de la mayoría de las métricas de clasificación; la precisión, la recuperación y la puntuación F1 se derivan de ella. Representado como un mapa de calor con anotaciones que muestran recuentos o porcentajes, hace que las fallas a nivel de clase sean inmediatamente legibles. Un modelo que “se ve bien” en precisión, pero que tiene una fila vacía para una clase crítica mostrará esta falla inmediatamente en la matriz de confusión.
Las curvas ROC trazan la tasa de verdaderos positivos frente a la tasa de falsos positivos en cada umbral de clasificación posible, de 0 a 1. El área bajo la curva (AUC) resume la capacidad general de discriminación del modelo en un solo número: 0.5 es conjetura aleatoria y 1.0 es perfecto. Las curvas ROC son particularmente útiles cuando se comparan múltiples modelos o cuando el costo de los falsos positivos y los falsos negativos difiere. Herramientas como scikit-learn y plotly tienen soporte integrado para generarlas.
Cuando el conjunto de datos está muy desequilibrado, las curvas de recuperación de precisión dan una perspectiva mucho más honesta del rendimiento del modelo que las curvas ROC. Un clasificador poderoso se mueve hacia la parte superior derecha de la trama, manteniendo alta precisión sin sacrificar la memoria. Representa la precisión en el eje Y frente a la exhaustividad en el eje X en función de varios umbrales de decisión.
En campos de alto riesgo como el diagnóstico médico o la detección de fraude, donde no detectar un caso raro es mucho más dañino que una falsa alarma, esta curva suele indicar más que cualquier otro método.
Para los modelos de regresión, un gráfico residual muestra la diferencia entre los valores predichos y reales (el residual) en el eje Y frente al valor predicho en el eje X. Los residuos deben dispersarse aleatoriamente alrededor de cero sin un patrón discernible. Si los residuos se dispersan, se curvan sistemáticamente o se agrupan, el modelo tiene un problema estructural y no está capturando algún aspecto de la relación en los datos.
Matplotlib es la base de código abierto sobre la que se crea todo lo demás. Su módulo “pyplot” (importado como “plt”) maneja la gama completa de gráficos estándar, histogramas, gráficos de dispersión, gráficos de líneas, gráficos de barras, entre otros. Es detallado en comparación con las bibliotecas más nuevas, pero esa verbosidad brinda un control preciso sobre cada detalle: anotaciones, etiquetas de ejes, diseño de figuras y tamaño.
Seaborn se basa en matplotlib y reduce significativamente el código repetitivo. Un mapa de calor, un diagrama de pares o un diagrama de caja que tomaría 15 líneas en matplotlib toma una o dos en seaborn. Lee directamente desde pandas DataFrames, lo que lo convierte en la opción para EDA en entornos Jupyter Notebook.
Plotly es la elección correcta cuando los resultados necesitan ser interactivos. Los gráficos se renderizan en HTML, lo que permite a los espectadores pasar el mouse sobre puntos de datos, acercar y alternar series, lo que lo hace mucho más útil que las imágenes estáticas al presentar resultados a los stakeholders a través de paneles o informes web.
NumPy no es una herramienta de visualización en sí, pero es la columna vertebral de casi todos los flujos de trabajo de visualización que gestionan la manipulación de matrices y la preparación de datos en los ejes X/Y de los que dependen matplotlib y seaborn.
Yellowbrick está diseñado específicamente para la evaluación de ML. Envuelve scikit-learn y genera matrices de confusión, curvas ROC, curvas de aprendizaje y gráficos de importancia de características en una sola llamada de función omitiendo el cableado manual que requiere matplotlib.
TensorBoard se encarga de la parte de aprendizaje profundo. Transmite métricas de entrenamiento en tiempo real, curvas de pérdida y gráficos de modelos durante el entrenamiento, necesarios para monitorear grandes conjuntos de datos y trabajos de redes neuronales de larga duración.
La visualización efectiva de datos no se trata solo de elegir el gráfico correcto, sino de evitar los patrones que engañan silenciosamente.
La visualización de datos en machine learning no es un paso final, sino que está entrelazada en cada fase de un proyecto. Así es como los científicos de datos diagnostican problemas que no podían ver en una tabla, detectan fallas de modelos que ocultan las métricas, comunican los hallazgos a los stakeholders y toman decisiones confiables basadas en datos en cada etapa del flujo de trabajo.
Construir el hábito de visualizar deliberadamente en cada etapa es una de las cosas más simples y de mayor aprovechamiento que se puede hacer para mejorar tanto la calidad de los modelos como la claridad del pensamiento.
Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.
Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.