Menu
CoddyTech

Histogrammes

Fait partie de la section Données et visualisations du Journey Machine Learning de Coddy. Leçon 27 sur 60.

Douze appels au service d’assistance, en minutes. Un histogramme montre comment des nombres comme ceux-ci se répartissent : il divise leur plage en intervalles égaux et compte les valeurs dans chacun :

calls = [2, 3, 3, 4, 5, 5, 6, 6, 6, 7, 9, 14]
fig, ax = plt.subplots()
counts, edges, bars = ax.hist(calls, bins=4)
print(counts)
print(edges)
plt.show()

Histogramme de 12 durées d’appel réparties en 4 intervalles délimités par 2, 5, 8, 11 et 14 : barres de 4, 6, 1 et 1 appels

La plupart des appels prennent de 2 à 8 minutes. ax.hist renvoie également les valeurs qu’il a comptées, donc cela affiche :

[4. 6. 1. 1.]
[ 2.  5.  8. 11. 14.]

4 intervalles nécessitent 5 edges. Une valeur située sur une limite est placée dans l’intervalle à sa droite, sauf la plus grande, qui reste dans le dernier intervalle.

challenge icon

Défi

Moyen

Un verger a pesé 120 pommes dans weights (en grammes). Le programme lit un nombre de classes ; le code de départ configure le graphique avec son titre et ses étiquettes, puis l’affiche.

  1. Trace un histogramme de weights avec ce nombre de classes, en conservant les valeurs renvoyées par ax.hist.
  2. Affiche les limites de la classe la plus remplie, arrondies à 1 décimale, et son effectif, comme ci-dessous.

Pour un autre verger et 6 classes, le programme affiche cette ligne, puis Coddy décrit le graphique :

Fullest bin: 153.6 to 167.8 g, 38 apples

Et le graphique ressemble à ceci :

Un histogramme intitulé Apple Weights avec 6 barres allant d’environ 125 à 210 grammes ; la plus haute, représentant 38 pommes, se situe entre 154 et 168 grammes

Essayez vous-même

import numpy as np
import matplotlib.pyplot as plt

bins = int(input())

# Ne modifiez pas les lignes ci-dessous
rng = np.random.default_rng(11)
weights = rng.normal(150, 20, size=120)
fig, ax = plt.subplots()
ax.set_title("Apple Weights")
ax.set_xlabel("Weight (g)")
ax.set_ylabel("Apples")

# Écrivez votre code ci-dessous

# Ne modifiez pas la ligne ci-dessous
plt.show()
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 Données et visualisations

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