los RandomState proporciona acceso a generadores heredados. Este generador se considera congelado y no tendrá más mejoras. Se garantiza que producirá los mismos valores que la versión final de NumPy v1.16. Todo esto depende de las normales de Box-Muller o de las exponenciales CDF inversas o gammas. Esta clase solo debe usarse si es esencial tener randoms que sean idénticos a los que habrían sido producidos por versiones anteriores de NumPy.

RandomState agrega información adicional al estado que se requiere cuando se utilizan normales de Box-Muller, ya que se producen en pares. Es importante usar RandomState.get_state, y no los generadores de bits subyacentes state, al acceder al estado para que se guarden estos valores extra.

Aunque proporcionamos el MT19937 BitGenerator para uso independiente de RandomState, tenga en cuenta que su siembra predeterminada utiliza SeedSequence en lugar del algoritmo de siembra heredado. RandomState utilizará el algoritmo de siembra heredado. Los métodos para usar el algoritmo de siembra heredado son actualmente privados, ya que la razón principal para usarlos es solo para implementar RandomState. Sin embargo, se puede restablecer el estado de MT19937 usando el estado del RandomState:

from numpy.random import MT19937
from numpy.random import RandomState

rs = RandomState(12345)
mt19937 = MT19937()
mt19937.state = rs.get_state()
rs2 = RandomState(mt19937)# Same output
rs.standard_normal()
rs2.standard_normal()

rs.random()
rs2.random()

rs.standard_exponential()
rs2.standard_exponential()
class numpy.random.RandomState(seed=None)

Contenedor para el lento generador de números pseudoaleatorios Mersenne Twister. Considere usar un BitGenerator diferente con el contenedor Generator en su lugar.

RandomState y Generator exponer una serie de métodos para generar números aleatorios extraídos de una variedad de distribuciones de probabilidad. Además de los argumentos específicos de la distribución, cada método toma un argumento de palabra clave size que por defecto es None. Si size es None, luego se genera y se devuelve un único valor. Si size es un número entero, luego se devuelve una matriz 1-D llena de valores generados. Si size es una tupla, luego se llena y se devuelve una matriz con esa forma.

Garantía de compatibilidad

Un generador de bits fijos que usa una semilla fija y una serie fija de llamadas a métodos ‘RandomState’ usando los mismos parámetros siempre producirá los mismos resultados hasta el error de redondeo, excepto cuando los valores sean incorrectos. RandomState está efectivamente congelado y solo recibirá actualizaciones que sean requeridas por cambios en las partes internas de Numpy. Los cambios más sustanciales, incluidas las mejoras algorítmicas, están reservados para Generator.

Parámetros
seedNone, int, array_like, BitGenerator, optional

Semilla aleatoria utilizada para inicializar el generador de números pseudoaleatorios o un BitGenerator instanciado. Si es un número entero o una matriz, se usa como semilla para MT19937 BitGenerator. Los valores pueden ser cualquier número entero entre 0 y 2 ** 32 – 1 inclusive, una matriz (u otra secuencia) de dichos números enteros, o None (el valor por defecto). Si seed es None, entonces el MT19937 BitGenerator se inicializa leyendo datos de /dev/urandom (o el análogo de Windows) si está disponible o semilla del reloj en caso contrario.

Ver también

Generator
MT19937
numpy.random.BitGenerator

Notas

El módulo stdlib de Python “random” también contiene un generador de números pseudoaleatorios Mersenne Twister con varios métodos que son similares a los disponibles en RandomState. RandomState, además de ser consciente de NumPy, tiene la ventaja de que proporciona un número mucho mayor de distribuciones de probabilidad para elegir.

Siembra y estado

get_state()

Devuelve una tupla que representa el estado interno del generador.

set_state(estado)

Establezca el estado interno del generador a partir de una tupla.

seed(uno mismo[, seed])

Reinicie un BitGenerator MT19937 heredado

Datos aleatorios simples

rand(d0, d1,…, dn)

Valores aleatorios en una forma determinada.

randn(d0, d1,…, dn)

Devuelva una muestra (o muestras) de la distribución “normal estándar”.

randint(bajo[, high, size, dtype])

Devuelve enteros aleatorios de low (inclusive) a high (exclusivo).

random_integers(bajo[, high, size])

Enteros aleatorios de tipo np.int_ Entre low y high, inclusive.

random_sample([size])

Devuelve flotadores aleatorios en el intervalo semiabierto [0.0, 1.0).

choice(a[, size, replace, p])

Genera una muestra aleatoria a partir de una matriz 1-D determinada

bytes(largo)

Devuelve bytes aleatorios.

Permutaciones

shuffle(X)

Modifique una secuencia en el lugar mezclando su contenido.

permutation(X)

Permutar aleatoriamente una secuencia o devolver un rango permutado.

Distribuciones

beta(a, b[, size])

Extrae muestras de una distribución Beta.

binomial(n, p[, size])

Extrae muestras de una distribución binomial.

chisquare(df[, size])

Extrae muestras de una distribución de chi-cuadrado.

dirichlet(alfa[, size])

Extrae muestras de la distribución de Dirichlet.

exponential([scale, size])

Extrae muestras de una distribución exponencial.

f(dfnum, dfden[, size])

Extrae muestras de una distribución F.

gamma(forma[, scale, size])

Extrae muestras de una distribución gamma.

geometric(pag[, size])

Extrae muestras de la distribución geométrica.

gumbel([loc, scale, size])

Extrae muestras de una distribución de Gumbel.

hypergeometric(nbueno, nbad, nsample[, size])

Extrae muestras de una distribución hipergeométrica.

laplace([loc, scale, size])

Extraiga muestras de la distribución de Laplace o exponencial doble con una ubicación (o media) y una escala (decaimiento) especificadas.

logistic([loc, scale, size])

Extrae muestras de una distribución logística.

lognormal([mean, sigma, size])

Extraiga muestras de una distribución logarítmica normal.

logseries(pag[, size])

Extrae muestras de una distribución en serie logarítmica.

multinomial(n, pvals[, size])

Extrae muestras de una distribución multinomial.

multivariate_normal(significa, cov[, size, …])

Extraiga muestras aleatorias de una distribución normal multivariante.

negative_binomial(n, p[, size])

Extrae muestras de una distribución binomial negativa.

noncentral_chisquare(df, nonc[, size])

Extraiga muestras de una distribución chi-cuadrado no central.

noncentral_f(dfnum, dfden, nonc[, size])

Extraiga muestras de la distribución F no central.

normal([loc, scale, size])

Extraiga muestras aleatorias de una distribución normal (gaussiana).

pareto(a[, size])

Dibuje muestras de una distribución de Pareto II o Lomax con una forma especificada.

poisson([lam, size])

Extrae muestras de una distribución de Poisson.

power(a[, size])

Dibuja muestras en [0, 1] a partir de una distribución de potencia con exponente positivo a – 1.

rayleigh([scale, size])

Extraiga muestras de una distribución de Rayleigh.

standard_cauchy([size])

Extraiga muestras de una distribución estándar de Cauchy con moda = 0.

standard_exponential([size])

Extrae muestras de la distribución exponencial estándar.

standard_gamma(forma[, size])

Extrae muestras de una distribución gamma estándar.

standard_normal([size])

Extraiga muestras de una distribución normal estándar (media = 0, stdev = 1).

standard_t(df[, size])

Extraiga muestras de una distribución t de Student estándar con df grados de libertad.

triangular(izquierda, modo, derecha[, size])

Dibujar muestras de la distribución triangular a lo largo del intervalo. [left, right].

uniform([low, high, size])

Extrae muestras de una distribución uniforme.

vonmises(mu, kappa[, size])

Extrae muestras de una distribución de von Mises.

wald(media, escala[, size])

Extraiga muestras de una distribución de Wald o gaussiana inversa.

weibull(a[, size])

Extrae muestras de una distribución de Weibull.

zipf(a[, size])

Extrae muestras de una distribución Zipf.

Funciones en numpy.random

Muchos de los métodos RandomState anteriores se exportan como funciones en numpy.random Se desaconseja este uso, ya que se implementa a través de un RandomState instancia que no se aconseja por dos motivos:

  • Utiliza el estado global, lo que significa que los resultados cambiarán a medida que cambie el código.
  • Usa un RandomState en lugar del más moderno Generator.

Por razones heredadas compatibles con versiones anteriores, no podemos cambiar esto. Ver Inicio rápido.

beta(a, b[, size])

Extrae muestras de una distribución Beta.

binomial(n, p[, size])

Extrae muestras de una distribución binomial.

bytes(largo)

Devuelve bytes aleatorios.

chisquare(df[, size])

Extrae muestras de una distribución de chi-cuadrado.

choice(a[, size, replace, p])

Genera una muestra aleatoria a partir de una matriz 1-D determinada

dirichlet(alfa[, size])

Extrae muestras de la distribución de Dirichlet.

exponential([scale, size])

Extrae muestras de una distribución exponencial.

f(dfnum, dfden[, size])

Extrae muestras de una distribución F.

gamma(forma[, scale, size])

Extrae muestras de una distribución gamma.

geometric(pag[, size])

Extrae muestras de la distribución geométrica.

get_state()

Devuelve una tupla que representa el estado interno del generador.

gumbel([loc, scale, size])

Extrae muestras de una distribución de Gumbel.

hypergeometric(nbueno, nbad, nsample[, size])

Extrae muestras de una distribución hipergeométrica.

laplace([loc, scale, size])

Extraiga muestras de la distribución de Laplace o exponencial doble con una ubicación (o media) y una escala (decaimiento) especificadas.

logistic([loc, scale, size])

Extrae muestras de una distribución logística.

lognormal([mean, sigma, size])

Extraiga muestras de una distribución logarítmica normal.

logseries(pag[, size])

Extrae muestras de una distribución en serie logarítmica.

multinomial(n, pvals[, size])

Extrae muestras de una distribución multinomial.

multivariate_normal(significa, cov[, size, …])

Extraiga muestras aleatorias de una distribución normal multivariante.

negative_binomial(n, p[, size])

Extrae muestras de una distribución binomial negativa.

noncentral_chisquare(df, nonc[, size])

Extraiga muestras de una distribución chi-cuadrado no central.

noncentral_f(dfnum, dfden, nonc[, size])

Extraiga muestras de la distribución F no central.

normal([loc, scale, size])

Dibujar muestras aleatorias de un normal (gaussiano) distribución.

pareto(a[, size])

Dibuje muestras de una distribución de Pareto II o Lomax con una forma especificada.

permutation(X)

Permutar aleatoriamente una secuencia o devolver un rango permutado.

poisson([lam, size])

Extrae muestras de una distribución de Poisson.

power(a[, size])

Dibuja muestras en [0, 1] a partir de una distribución de potencia con exponente positivo a – 1.

rand(d0, d1,…, dn)

Valores aleatorios en una forma determinada.

randint(bajo[, high, size, dtype])

Devuelve enteros aleatorios de low (inclusive) a high (exclusivo).

randn(d0, d1,…, dn)

Devuelva una muestra (o muestras) de la distribución “normal estándar”.

random([size])

Devuelve flotadores aleatorios en el intervalo semiabierto [0.0, 1.0).

random_integers(low[, high, size])

Enteros aleatorios de tipo np.int_ Entre low y high, inclusive.

random_sample([size])

Devuelve flotadores aleatorios en el intervalo semiabierto [0.0, 1.0).

ranf

This is an alias of random_sample.

rayleigh([scale, size])

Extraiga muestras de una distribución de Rayleigh.

sample

Este es un alias de random_sample.

seed(uno mismo[, seed])

Reinicie un BitGenerator MT19937 heredado

set_state(estado)

Establezca el estado interno del generador a partir de una tupla.

shuffle(X)

Modifique una secuencia en el lugar mezclando su contenido.

standard_cauchy([size])

Extraiga muestras de una distribución estándar de Cauchy con moda = 0.

standard_exponential([size])

Extrae muestras de la distribución exponencial estándar.

standard_gamma(forma[, size])

Extrae muestras de una distribución gamma estándar.

standard_normal([size])

Extraiga muestras de una distribución normal estándar (media = 0, stdev = 1).

standard_t(df[, size])

Extraiga muestras de una distribución t de Student estándar con df grados de libertad.

triangular(izquierda, modo, derecha[, size])

Dibujar muestras de la distribución triangular a lo largo del intervalo. [left, right].

uniform([low, high, size])

Extrae muestras de una distribución uniforme.

vonmises(mu, kappa[, size])

Extrae muestras de una distribución de von Mises.

wald(media, escala[, size])

Extraiga muestras de una distribución de Wald o gaussiana inversa.

weibull(a[, size])

Extrae muestras de una distribución de Weibull.

zipf(a[, size])

Extrae muestras de una distribución Zipf.