tutorial multiplicar multiplicacion matriz matrices español crear con como python random numpy

python - multiplicar - Consistentemente crea la misma matriz numpy al azar



numpy tutorial español pdf (3)

Crea tu propia instancia de numpy.random.RandomState() con tu semilla elegida. No use numpy.random.seed() excepto para trabajar con bibliotecas inflexibles que no le permiten pasar su propia instancia de RandomState .

[~] |1> from numpy.random import RandomState [~] |2> prng = RandomState(1234567890) [~] |3> prng.randint(-1, 2, size=10) array([ 1, 1, -1, 0, 0, -1, 1, 0, -1, -1]) [~] |4> prng2 = RandomState(1234567890) [~] |5> prng2.randint(-1, 2, size=10) array([ 1, 1, -1, 0, 0, -1, 1, 0, -1, -1])

Estoy esperando que otro desarrollador termine una pieza de código que devolverá una matriz np de forma (100,2000) con valores de -1,0 o 1.

Mientras tanto, quiero crear aleatoriamente un conjunto de las mismas características para que pueda tener una ventaja sobre mi desarrollo y prueba. La cuestión es que quiero que este conjunto creado aleatoriamente sea el mismo cada vez, por lo que no estoy probando contra un arreglo que cambia constantemente de valor cada vez que vuelvo a ejecutar mi proceso.

Puedo crear mi matriz de esta manera, pero ¿hay alguna manera de crearla para que sea la misma cada vez? Puedo desenterrar el objeto y desmantelarlo, pero me pregunto si hay otra manera.

r = np.random.randint(3, size=(100, 2000)) - 1


Si está utilizando otras funciones confiando en un estado aleatorio, no puede simplemente establecer una semilla general, sino que debe crear una función para generar su lista aleatoria de números y establecer la semilla como un parámetro de la función. Esto no molestará a ningún otro generador aleatorio en el código:

# Random states def get_states(random_state, low, high, size): rs = np.random.RandomState(random_state) states = rs.randint(low=low, high=high, size=size) return states # Call function states = get_states(random_state=42, low=2, high=28347, size=25)


Simplemente siembre el generador de números aleatorios con un valor fijo, por ejemplo

numpy.random.seed(42)

De esta manera, siempre obtendrá la misma secuencia de números aleatorios.