Menu
CoddyTech

Istogrammi di densità

Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 7 di 64.

Questo capitolo riguarda la forma dei dati. Alla fine, adatterai una curva a campana a un istogramma e individuerai l’elemento anomalo:

Un istogramma dei pesi di 300 meloni con una curva a campana arancione uniforme sovrapposta e un punto rosso sotto il melone più leggero

Per prima cosa, una correzione. I conteggi possono far sembrare enorme un gruppo grande rispetto a uno piccolo, come i tempi di reazione di 500 adulti rispetto a quelli di 50 giocatori:

Due grafici degli stessi tempi di reazione. A sinistra, conteggi: i 500 adulti sovrastano i 50 giocatori, le cui barre sono appena visibili. A destra, density=True: entrambi i gruppi sono mostrati per intero, i giocatori sono più veloci e più raggruppati

density=True ridimensiona ciascun gruppo in modo che le aree delle sue barre sommino a 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")

Ogni altezza è count / (n * bin width), quindi l’area di una barra rappresenta la sua quota del gruppo. Ora i gruppi di qualsiasi dimensione si confrontano equamente.

challenge icon

Sfida

Facile

Un ospedale cittadino ha pesato 400 neonati, uno rurale 60. Il codice iniziale contiene i pesi in city e rural e imposta il grafico con titolo ed etichette.

  1. Disegna un istogramma di densità per ciascun gruppo con bins=10, alpha=0.5 e l'etichetta city o rural.
  2. Aggiungi una legenda e mostra il grafico.

Coddy descrive il tuo grafico. Dovrebbe assomigliare a questo, che confronta due coltivatori di pomodori:

Due istogrammi di densità traslucidi intitolati Pesi dei pomodori: i pomodori di fattoria pesano da circa 90 a 200 grammi, quelli dell'orto sono più leggeri, per lo più da 95 a 145, con una legenda

Provalo tu

import numpy as np
import matplotlib.pyplot as plt

# No cambies las líneas de abajo
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")

# Escribe tu código a continuación
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Statistica per il machine learning

Esercitati da solo: Compilatore Python online