Générer des nombres aléatoires avec le module np.random
Nous allons faire appel au module np.random tout au long de ce cours et de sa suite. En fait, vous appellerez probablement des méthodes d'instances de générateurs plus souvent que toute autre fonction lorsque vous porterez votre chapeau de statisticien « hacker ». Commençons par prendre une fonction simple, rng.random(), pour un essai. Cette fonction retourne un nombre aléatoire entre zéro et un. Si vous appelez rng.random() plusieurs fois, vous verrez des nombres varier entre zéro et un.
Dans cet exercice, nous allons générer un grand nombre de valeurs aléatoires entre zéro et un, puis tracer un histogramme des résultats. Si les nombres sont vraiment aléatoires, toutes les barres de l'histogramme devraient avoir une hauteur (à peu près) égale.
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 allez écrire une boucle for pour vivre l'expérience des « hacker statistics », c'est‑à‑dire répéter une expérience encore et encore.
Cette activité fait partie du cours
Réflexion statistique en Python (Partie 1)
Instructions de l’exercice
- Instanciez et initialisez 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 valeurs aléatoires. Assurez-vous d'utilisernp.empty(100000)pour ce faire. - É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, puisque nous voulons simplement vérifier 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()