Menu
CoddyTech

Mapas de calor de correlação

Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 32 de 64.

Uma matriz com vinte características é um muro de números. Um mapa de calor colore cada célula, para que os pares fortes se destaquem. Oito dias de um cinema:

Um mapa de calor 4 por 4 intitulado Correlações do Cinema, com uma barra de cores de -1 a 1. Ingressos e pipoca aparecem em vermelho intenso juntos, temp_c aparece em azul intenso em relação a ambos, e a linha da equipe é clara

Este código desenha isso:

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 fixa as cores: vermelho é 1, branco é 0, azul é -1. fig.colorbar(im) adiciona a legenda, e set_xticks(positions, labels) nomeia as células.

Ingressos e pipoca brilham em vermelho juntos; dias quentes são azuis em contraste com ambos. A equipe quase não importa.

challenge icon

Desafio

Médio

Um smartwatch registrou dados por 30 dias em watch.csv: uma coluna de texto weekday e cinco colunas numéricas.

  1. Calcule a matriz de correlação das colunas numéricas.
  2. Desenhe-a como um mapa de calor coolwarm de -1 a 1, com uma barra de cores.
  3. Identifique as marcas dos eixos horizontal e vertical com os nomes das colunas, dê o título Watch Data e exiba o gráfico.

Seu programa não imprime nada. Para as três colunas de outra pessoa, o gráfico fica assim:

Um mapa de calor de 3 por 3 com o título Watch Data, com steps, sleep_h e stress como rótulos das marcas e uma barra de cores de -1 a 1: diagonal vermelha, sleep_h e stress em azul-escuro, steps e sleep_h em vermelho-claro

Experimente você mesmo

import pandas as pd
import matplotlib.pyplot as plt

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

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Estatística para ML

Pratique por conta própria: Compilador de Python online