Menu
CoddyTech

Histogramas de densidade

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

Este capítulo é sobre a forma dos dados. Ao final, você ajustará uma curva em forma de sino a um histograma e identificará o elemento fora do padrão:

Um histograma dos pesos de 300 melões com uma curva suave em forma de sino laranja sobre ele e um ponto vermelho abaixo do melão mais leve

Primeiro, uma correção. As contagens permitem que um grupo grande ofusque um pequeno, como os tempos de reação de 500 adultos em comparação com os de 50 gamers:

Dois gráficos dos mesmos tempos de reação. À esquerda, contagens: 500 adultos se sobressaem aos 50 gamers, cujas barras mal aparecem. À direita, density=True: os dois grupos aparecem por completo, com os gamers mais rápidos e mais concentrados

density=True ajusta cada grupo para que as áreas de suas barras somem 1:

ax.hist(adults, bins=16, density=True, alpha=0.5, label="adults")
ax.hist(gamers, bins=16, density=True, alpha=0.5, label="gamers")

Cada altura é count / (n * bin width), então a área de uma barra corresponde à sua proporção do grupo. Assim, grupos de qualquer tamanho podem ser comparados de forma justa.

challenge icon

Desafio

Fácil

Um hospital urbano pesou 400 recém-nascidos; um hospital rural, 60. O código inicial mantém os pesos em city e rural e prepara o gráfico com título e rótulos.

  1. Desenhe um histograma de densidade para cada grupo com bins=10, alpha=0.5 e o rótulo city ou rural.
  2. Adicione uma legenda e mostre o gráfico.

O Coddy descreve seu gráfico. Ele deve ficar parecido com este, de dois produtores de tomate:

Dois histogramas de densidade translúcidos intitulados Pesos dos tomates: tomates da fazenda de cerca de 90 a 200 gramas, tomates do jardim mais leves, em sua maioria de 95 a 145, com uma legenda

Experimente você mesmo

import numpy as np
import matplotlib.pyplot as plt

# Não altere as linhas abaixo
rng = np.random.default_rng(23)
city = np.round(rng.normal(3.4, 0.5, size=400), 2)
rural = np.round(rng.normal(3.2, 0.45, size=60), 2)

fig, ax = plt.subplots()
ax.set_title("Birth Weights")
ax.set_xlabel("Weight (kg)")
ax.set_ylabel("Density")

# 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