0Pricing
Learn AI with Python · Lección

Análisis bivariante y multivariante

Diagramas de dispersión, gráficos de pares, mapas de calor de correlaciones y estadísticas agrupadas.

Análisis bivariante y multivariante es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

De una variable a varias

El análisis bivariante estudia la relación entre dos variables; el análisis multivariante examina varias a la vez.

El objetivo es descubrir qué características varían conjuntamente, detectar interacciones y decidir qué variables permiten predecir la variable objetivo.

Gráficos de dispersión con plt.scatter

Un gráfico de dispersión representa dos variables numéricas una frente a la otra; cada punto corresponde a una fila. Permite descubrir tendencias, grupos y valores atípicos.

import matplotlib.pyplot as plt
import seaborn as sns

plt.scatter(df["height"], df["weight"], alpha=0.4)
plt.xlabel("Height")
plt.ylabel("Weight")
plt.show()

Interpretación de un gráfico de dispersión

Observe la dirección (ascendente = relación positiva, descendente = negativa), la fuerza (banda estrecha frente a nube dispersa) y la forma (lineal frente a curva).

Añada un hue con sns.scatterplot para colorear los puntos según una categoría y revelar la estructura de los grupos.

sns.scatterplot(x="height", y="weight", hue="gender", data=df, alpha=0.5)
plt.show()

Correlación con df.corr()

df.corr() calcula la correlación de Pearson por pares entre las columnas numéricas: un número entre -1 y +1.

  • +1 → relación lineal positiva perfecta
  • 0 → ninguna relación lineal
  • -1 → relación lineal negativa perfecta
corr = df.corr(numeric_only=True)
print(corr["price"].sort_values(ascending=False))

Mapas de calor de correlación

Una matriz de correlación es más fácil de leer como un mapa de calor. Pase annot=True para mostrar los valores dentro de cada celda.

Use un mapa de colores divergente (por ejemplo, coolwarm) para que las correlaciones positivas y negativas tengan colores distintos.

corr = df.corr(numeric_only=True)
sns.heatmap(corr, annot=True, fmt=".2f", cmap="coolwarm", center=0)
plt.show()

Detección de la multicolinealidad

Cuando dos características tienen una correlación muy alta (por ejemplo, > 0.9), contienen información redundante. Esto se denomina multicolinealidad y puede desestabilizar los modelos lineales.

El mapa de calor permite detectar rápidamente los pares redundantes para poder eliminar uno de ellos.

corr = df.corr(numeric_only=True).abs()
high = corr[(corr > 0.9) & (corr < 1.0)]
print(high.dropna(how="all"))

La correlación no implica causalidad

Una correlación fuerte no significa que una variable cause la otra. Ambas podrían estar determinadas por una tercera variable oculta, o la relación podría ser fruto de la coincidencia.

Use la correlación para generar hipótesis y, después, valídelas mediante el conocimiento del dominio y un análisis controlado.

Gráficos de pares con sns.pairplot

sns.pairplot dibuja una cuadrícula de gráficos de dispersión para cada par de columnas numéricas, con histogramas o KDE en la diagonal.

Es la forma más rápida de examinar visualmente todas las relaciones bivariantes a la vez. Limite el número de columnas en conjuntos de datos grandes, ya que su crecimiento es cuadrático respecto al número de columnas.

sns.pairplot(df[["height", "weight", "age", "income"]], hue="gender")
plt.show()

Diagramas de caja agrupados

Para relacionar una variable numérica con una categórica, coloque la categoría en el eje x de un diagrama de caja. Así podrá comparar de inmediato las distribuciones entre grupos.

sns.boxplot(x="city", y="income", data=df)
plt.xticks(rotation=45)
plt.show()

Agregaciones agrupadas

Los números complementan a los gráficos. groupby junto con agg resume una columna numérica por categorías.

Esta es la forma tabular del análisis multivariante: compare medias, medianas y recuentos uno al lado del otro.

summary = df.groupby("city")["income"].agg(["mean", "median", "count"])
print(summary.sort_values("mean", ascending=False))

Gráficos multivariantes con codificaciones

Puede incluir tres o más variables en un solo gráfico mediante codificaciones visuales: x, y, color (hue) y tamaño.

Esto muestra cómo cambian las relaciones en una tercera dimensión sin tener que crear gráficos independientes.

sns.scatterplot(x="height", y="weight", hue="age", size="income", data=df)
plt.show()

Comprobación rápida: rango de correlación

Ejecuta df.corr() y observa un valor de -0.85 entre dos características.

Resumen: análisis bivariante y multivariante

Ahora puede explorar las relaciones entre variables:

  • plt.scatter / sns.scatterplot para dos variables numéricas
  • df.corr() + sns.heatmap(annot=True) para la matriz de correlación
  • Las correlaciones altas señalan multicolinealidad (elimine las características redundantes)
  • sns.pairplot para obtener una visión general de todos los pares
  • Diagramas de caja agrupados y groupby().agg() para relacionar variables numéricas y categóricas

A continuación, relacionaremos directamente las características con la variable objetivo.

Preguntas frecuentes

¿La lección «Análisis bivariante y multivariante» es gratis?

Sí — el texto completo de «Análisis bivariante y multivariante» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Análisis bivariante y multivariante»?

Diagramas de dispersión, gráficos de pares, mapas de calor de correlaciones y estadísticas agrupadas. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Análisis bivariante y multivariante»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Flujo de trabajo de EDA y perfilado de datos
  2. Análisis univariante
  3. Análisis bivariante y multivariante
  4. Distribución de características y análisis del objetivo
← Volver a Learn AI with Python