CommencerCommencez gratuitement

Générer des nombres aléatoires avec le module np.random

Nous allons solliciter le module np.random tout au long de ce cours et de sa suite. En réalité, vous appellerez probablement les méthodes des instances de générateurs aléatoires plus que toute autre fonction lorsque vous porterez votre casquette de « hacker statisticien ». Commençons par tester une fonction simple, rng.random(). Cette fonction renvoie un nombre aléatoire entre zéro et un. Si vous appelez rng.random() plusieurs fois, vous verrez des valeurs varier entre zéro et un.

Dans cet exercice, nous allons générer de nombreux nombres aléatoires entre zéro et un, puis tracer un histogramme des résultats. Si les nombres sont réellement aléatoires, toutes les barres de l’histogramme devraient avoir des hauteurs (à peu près) égales.

Vous avez peut‑être remarqué que, dans la vidéo, Justin a généré 4 nombres aléatoires en passant l’argument nommé size=4 à rng.random(). Cette approche est plus efficace qu’une boucle for ; dans cet exercice, toutefois, vous écrirez une boucle for pour expérimenter les « hacker statistics » comme la pratique consistant à répéter une expérience encore et encore.

Cet exercice fait partie du cours

<cours>Réflexion statistique en Python (Partie 1)</cours>
Voir le cours

Instructions de l’exercice

  • Instanciez et grainez un générateur de nombres aléatoires, rng, avec la graine 42.
  • Initialisez un tableau vide, random_numbers, de 100 000 éléments pour stocker les nombres aléatoires. Assurez‑vous d’utiliser np.empty(100000) pour cela.
  • Écrivez une boucle for pour tirer 100 000 nombres aléatoires avec rng.random() et les stocker dans le tableau random_numbers. Pour ce faire, itérez sur range(100000).
  • Tracez un histogramme de random_numbers. Il n’est pas nécessaire d’étiqueter les axes ici, car nous vérifions simplement le générateur de nombres aléatoires. Appuyez sur Soumettre pour afficher votre graphique.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Instantiate and seed the random number generator


# Initialize random numbers: random_numbers
random_numbers = ____

# Generate random numbers by looping over range(100000)
for i in ____:
    random_numbers[i] = ____

# Plot a histogram
_ = plt.hist(____)

# Show the plot
plt.show()
Modifier et exécuter le code