np.random.permutation con semilla?

Quiero usar una semilla con np.random.permutation , como

 np.random.permutation(10, seed=42) 

Obtuve el siguiente error:

 "permutation() takes no keyword arguments" 

¿Cómo puedo hacer eso más? Gracias.

Si lo desea en una línea, puede crear un nuevo RandomState y llamar a la permutation en eso:

 np.random.RandomState(seed=42).permutation(10) 

Esto es mejor que simplemente establecer la semilla de np.random , ya que solo tendrá un efecto localizado.

 np.random.seed(42) np.random.permutation(10) 

Si desea llamar a np.random.permutation(10) varias veces y obtener resultados idénticos, también debe llamar a np.random.seed(42) cada vez que llame a permutation() .

Por ejemplo,

 np.random.seed(42) print(np.random.permutation(10)) print(np.random.permutation(10)) 

Producirá diferentes resultados:

 [8 1 5 0 7 2 9 4 3 6] [0 1 8 5 3 4 7 9 6 2] 

mientras

 np.random.seed(42) print(np.random.permutation(10)) np.random.seed(42) print(np.random.permutation(10)) 

dará la misma salida:

 [8 1 5 0 7 2 9 4 3 6] [8 1 5 0 7 2 9 4 3 6] 

Coloca la semilla en la línea anterior.

 np.random.seed(42) np.random.permutation(10) 

Puedes descomponerlo en:

 import numpy as np np.random.seed(10) np.random.permutation(10) 

Al inicializar primero la semilla aleatoria, esto garantizará que obtenga la misma permutación.