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>Instructions de l’exercice
- Instanciez et grainez un générateur de nombres aléatoires,
rng, avec la graine42. - Initialisez un tableau vide,
random_numbers, de 100 000 éléments pour stocker les nombres aléatoires. Assurez‑vous d’utilisernp.empty(100000)pour cela. - Écrivez une boucle
forpour tirer 100 000 nombres aléatoires avecrng.random()et les stocker dans le tableaurandom_numbers. Pour ce faire, itérez surrange(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()