Menu
CoddyTech

Mapas de calor de correlación

Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 32 de 64.

Una matriz de veinte características es un muro de números. Un mapa de calor colorea cada celda, para que las parejas con una relación fuerte destaquen. Ocho días de un cine:

Un mapa de calor de 4 por 4 titulado Correlaciones del cine, con una barra de color de -1 a 1. Tickets y popcorn aparecen juntos en rojo intenso, temp_c está en azul intenso en relación con ambos, y la fila de staff es pálida

Este código lo dibuja:

cinema = pd.DataFrame({
    "tickets": [120, 340, 210, 410, 180, 290, 380, 150],
    "popcorn": [70, 150, 100, 200, 95, 120, 170, 60],
    "temp_c": [24, 12, 15, 9, 20, 19, 11, 22],
    "staff": [6, 5, 8, 7, 5, 6, 6, 8],
})
corr = cinema.corr()
fig, ax = plt.subplots()
im = ax.imshow(corr, cmap="coolwarm", vmin=-1, vmax=1)
fig.colorbar(im)
ax.set_xticks(range(4), corr.columns)
ax.set_yticks(range(4), corr.columns)
ax.set_title("Cinema Correlations")
plt.show()

vmin=-1, vmax=1 fija los colores: el rojo es 1, el blanco 0 y el azul -1. fig.colorbar(im) añade la leyenda, y set_xticks(positions, labels) nombra las celdas.

Las entradas y las palomitas brillan en rojo juntas; los días cálidos son azules en comparación con ambas. La dotación de personal apenas importa.

challenge icon

Desafío

Intermedio

Un reloj inteligente registró 30 días en watch.csv: una columna de texto weekday y cinco columnas numéricas.

  1. Calcula la matriz de correlación de las columnas numéricas.
  2. Represéntala como un mapa de calor coolwarm de -1 a 1, con una barra de colores.
  3. Etiqueta las marcas de los ejes horizontal y vertical con los nombres de las columnas, ponle el título Watch Data y muéstrala.

Tu programa no imprime nada. Para las tres columnas de otra persona, el gráfico se ve así:

Un mapa de calor de 3 por 3 titulado Watch Data, con steps, sleep_h y stress como etiquetas de las marcas y una barra de colores de -1 a 1: diagonal roja, sleep_h y stress en azul oscuro, steps y sleep_h en rojo claro

Pruébalo tú mismo

import pandas as pd
import matplotlib.pyplot as plt

watch = pd.read_csv("watch.csv")

# Escribe tu código a continuación
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Estadística para ML

Practica por tu cuenta: Compilador de Python online