Función numpy.random.seed() en NumPy

Muhammad Maisam Abbas 4 julio 2021
Función numpy.random.seed() en NumPy

Este tutorial explicará la función numpy.random.seed() en NumPy.

Función numpy.random.seed()

La función numpy.random.seed() se usa para establecer la semilla para el algoritmo generador de números pseudoaleatorios en Python. El algoritmo generador de números pseudoaleatorios realiza algunas operaciones predefinidas en la semilla y produce un número pseudoaleatorio en la salida. La semilla actúa como punto de partida para el algoritmo. Un número pseudoaleatorio es un número que parece aleatorio, pero en realidad no lo es. De hecho, las computadoras son incapaces de generar un número verdaderamente aleatorio porque las computadoras son deterministas y siguen consistentemente un conjunto de instrucciones dado. La idea detrás de esto es que siempre obtendremos el mismo conjunto de números aleatorios para la misma semilla en cualquier máquina.

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)

Producción :

[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]

En el código anterior, configuramos la semilla aleatoria NumPy en 0 y generamos una secuencia de cinco números pseudoaleatorios basados ​​en esa semilla. Luego restablecemos la semilla a 0 y nuevamente generamos una secuencia de cinco números pseudoaleatorios basados ​​en esa semilla. Observe que ambas veces obtenemos la misma secuencia de valores. En ambas ocasiones, los números aleatorios se generan aplicando las mismas operaciones en las mismas semillas. Este tipo de generación de números aleatorios predeterminados es útil cuando queremos generar la misma secuencia de números aleatorios en diferentes máquinas.

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