numpy.random.seed() Fonction dans NumPy

Muhammad Maisam Abbas 4 juillet 2021
numpy.random.seed() Fonction dans NumPy

Ce tutoriel expliquera la fonction numpy.random.seed() dans NumPy.

Fonction numpy.random.seed()

La fonction numpy.random.seed() est utilisée pour définir la graine de l’algorithme de générateur de nombres pseudo-aléatoires en Python. L’algorithme du générateur de nombres pseudo-aléatoires effectue certaines opérations prédéfinies sur la graine et produit un nombre pseudo-aléatoire dans la sortie. La graine sert de point de départ à l’algorithme. Un nombre pseudo-aléatoire est un nombre qui semble aléatoire, mais ce n’est pas le cas. En fait, les ordinateurs sont incapables de générer un nombre vraiment aléatoire car les ordinateurs sont déterministes et suivent systématiquement un ensemble d’instructions donné. L’idée derrière cela est que nous obtiendrons toujours le même ensemble de nombres aléatoires pour la même graine sur n’importe quelle machine.

import numpy as np

np.random.seed(1)
array = np.random.rand(5)
np.random.seed(1)
array2 = np.random.rand(5)
print(array)
print(array2)

Production:

[4.17022005e-01 7.20324493e-01 1.14374817e-04 3.02332573e-01
 1.46755891e-01]
[4.17022005e-01 7.20324493e-01 1.14374817e-04 3.02332573e-01
 1.46755891e-01]

Dans le code ci-dessus, nous avons défini la graine aléatoire NumPy sur 0 et généré une séquence de cinq nombres pseudo-aléatoires en fonction de cette graine. Nous avons ensuite remis la graine à 0 et généré à nouveau une séquence de cinq nombres pseudo-aléatoires basés sur cette graine. Notez que les deux fois, nous obtenons la même séquence de valeurs. Les deux fois, les nombres aléatoires sont générés en appliquant les mêmes opérations sur les mêmes graines. Ce type de génération de nombres aléatoires prédéterministe est utile lorsque nous voulons générer la même séquence de nombres aléatoires sur différentes machines.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn