Menu
CoddyTech

Histogrammes de densité

Fait partie de la section Statistiques pour le ML du Journey Machine Learning de Coddy. Leçon 7 sur 64.

Ce chapitre porte sur la forme des données. À la fin, tu ajusteras une courbe en cloche à un histogramme et repéreras l’intrus :

Un histogramme de 300 poids de melons, recouvert d’une courbe en cloche orange lisse, avec un point rouge sous le melon le plus léger

D’abord, une correction. Les effectifs permettent à un grand groupe d’éclipser un petit groupe, comme les temps de réaction de 500 adultes face à ceux de 50 joueurs :

Deux graphiques représentant les mêmes temps de réaction. À gauche, les effectifs : les 500 adultes dominent, tandis que les barres des 50 joueurs sont à peine visibles. À droite, density=True : les deux groupes sont représentés en entier, les joueurs étant plus rapides et plus regroupés

density=True met chaque groupe à l’échelle de sorte que les aires de ses barres totalisent 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")

Chaque hauteur est count / (n * bin width), donc l’aire d’une barre correspond à sa part du groupe. Les groupes de toutes tailles peuvent désormais être comparés équitablement.

challenge icon

Défi

Facile

Un hôpital en ville a pesé 400 nouveau-nés, et un hôpital rural en a pesé 60. Le code de départ stocke les poids dans city et rural, et prépare le graphique avec son titre et ses libellés.

  1. Trace un histogramme de densité pour chaque groupe avec bins=10, alpha=0.5 et le libellé city ou rural.
  2. Ajoute une légende et affiche le graphique.

Coddy décrit ton graphique. Il devrait ressembler à celui-ci, qui compare deux producteurs de tomates :

Deux histogrammes de densité transparents intitulés Poids des tomates : les tomates de la ferme pèsent environ 90 à 200 grammes, celles du jardin sont plus légères, principalement entre 95 et 145 grammes, avec une légende

Essayez vous-même

import numpy as np
import matplotlib.pyplot as plt

# Ne modifiez pas les lignes ci-dessous
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")

# Écrivez votre code ci-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Statistiques pour le ML

Entraînez-vous par vous-même : Compilateur Python en ligne