Spec-Zone.ru › NumPy 1.18

Устаревшее генерирование случайных чисел

Класс RandomState предоставляет доступ к устаревшим генераторам. Этот генератор считается замороженным и больше не будет улучшаться. Он гарантированно будет генерировать те же значения, что и окончательная версия NumPy v1.16. Все они зависят от нормального распределения Бокса—Мюллера или обратных кумулятивных распределений экспоненциальных или гамма-распределений. Этот класс следует использовать только в том случае, если необходимо получить случайные числа, идентичные тем, которые генерировались предыдущими версиями NumPy.

RandomState добавляет дополнительную информацию в состояние, которая необходима при использовании нормального распределения Бокса—Мюллера, так как эти значения генерируются парами. Важно использовать RandomState.get_state, а не базовые генераторы бит state, при доступе к состоянию, чтобы сохранить эти дополнительные значения.

Хотя мы предоставляем MT19937 BitGenerator для использования независимо от RandomState, обратите внимание, что его начальное значение по умолчанию использует SeedSequence, а не алгоритм начального значения устаревшего типа. RandomState будет использовать алгоритм начального значения устаревшего типа. Методы для использования алгоритма начального значения устаревшего типа в настоящее время являются закрытыми, так как основная причина их использования заключается лишь в реализации RandomState. Однако можно сбросить состояние MT19937 с помощью состояния 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)

Контейнер для медленного генератора псевдослучайных чисел Мерсенна-Твистер. Рассмотрите возможность использования другого BitGenerator с контейнером Generator.

RandomState и Generator предоставляют ряд методов для генерации случайных чисел, взятых из различных распределений вероятностей. В дополнение к аргументам, специфичным для распределения, каждый метод принимает ключевой аргумент size, который по умолчанию равен None. Если size равен None, то генерируется и возвращается единственное значение. Если size является целым числом, то возвращается одномерный массив, заполненный сгенерированными значениями. Если size является кортежем, то возвращается массив с заданной формой, заполненный значениями.

Гарантия совместимости

Фиксированный генератор бит с фиксированным начальным значением и фиксированным набором вызовов методов «RandomState» с одинаковыми параметрами всегда будет генерировать те же результаты с точностью до округления, за исключением случаев, когда значения были некорректны. RandomState фактически заморожен и будет получать обновления только при необходимости в соответствии с изменениями во внутренней работе Numpy. Более существенные изменения, включая улучшения алгоритмов, предназначены для Generator.

Параметры
seed{None, int, array_like, BitGenerator}, optional

Случайное начальное значение, используемое для инициализации генератора псевдослучайных чисел или экземпляра BitGenerator. Если целое число или массив, используется как начальное значение для BitGenerator MT19937. Значения могут быть любым целым числом от 0 до 2**32 - 1 включительно, массивом (или другой последовательностью) таких целых чисел или None (по умолчанию). Если seed равно None, то BitGenerator MT19937 инициализируется считыванием данных из /dev/urandom (или аналога для Windows), если доступно, или из времени системы в противном случае.

См. также

Generator, MT19937, numpy.random.BitGenerator

Примечания

Модуль Python stdlib «random» также содержит генератор псевдослучайных чисел Мерсенна-Твистер с рядом методов, аналогичных тем, которые доступны в RandomState. RandomState, помимо того, что он поддерживает NumPy, имеет преимущество в предоставлении гораздо большего количества распределений вероятностей для выбора.

Инициализация и состояние

get_state()

Возвращает кортеж, представляющий внутреннее состояние генератора.

set_state(state)

Устанавливает внутреннее состояние генератора из кортежа.

seed(self[, seed])

Переинициализирует генератор MT19937

Простые случайные данные

rand(d0, d1, …, dn)

Случайные значения заданной формы.

randn(d0, d1, …, dn)

Возвращает выборку (или выборки) из «стандартного нормального» распределения.

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

Возвращает случайные целые числа от low (включительно) до high (исключительно).

random_integers(low[, high, size])

Случайные целые числа типа np.int_ между low и high включительно.

random_sample([size])

Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [0.0, 1.0).

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

Генерирует случайную выборку из заданного одномерного массива

bytes(length)

Возвращает случайные байты.

Перестановки

shuffle(x)

Изменяет последовательность на месте, перемешивая ее содержимое.

permutation(x)

Случайным образом переставляет последовательность или возвращает переставленный диапазон.

Распределения

beta(a, b[, size])

Генерация выборок из бета-распределения.

binomial(n, p[, size])

Генерация выборок из биномиального распределения.

chisquare(df[, size])

Генерация выборок из хи-квадрат распределения.

dirichlet(alpha[, size])

Генерация выборок из дирихле-распределения.

exponential([scale, size])

Генерация выборок из экспоненциального распределения.

f(dfnum, dfden[, size])

Генерация выборок из F-распределения.

gamma(shape[, scale, size])

Генерация выборок из гамма-распределения.

geometric(p[, size])

Генерация выборок из геометрического распределения.

gumbel([loc, scale, size])

Генерация выборок из распределения Гумбеля.

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

Генерация выборок из гипергеометрического распределения.

laplace([loc, scale, size])

Генерация выборок из распределения Лапласа или двойного экспоненциального распределения со заданной точкой расположения (или средним значением) и масштабом (убыванием).

logistic([loc, scale, size])

Генерация выборок из логистического распределения.

lognormal([mean, sigma, size])

Генерация выборок из логнормального распределения.

logseries(p[, size])

Генерация выборок из логарифмического распределения.

multinomial(n, pvals[, size])

Генерация выборок из многомерного биномиального распределения.

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

Генерация случайных выборок из многомерного нормального распределения.

negative_binomial(n, p[, size])

Генерация выборок из отрицательного биномиального распределения.

noncentral_chisquare(df, nonc[, size])

Генерация выборок из нецентрального хи-квадрат распределения.

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

Генерация выборок из нецентрального F-распределения.

normal([loc, scale, size])

Генерация случайных выборок из нормального (гауссового) распределения.

pareto(a[, size])

Генерация выборок из распределения Парето II или Ломакса со заданным параметром формы.

poisson([lam, size])

Генерация выборок из пуассоновского распределения.

power(a[, size])

Генерирует выборки в [0, 1] из степенного распределения с положительным показателем a - 1.

rayleigh([scale, size])

Генерация выборок из распределения Рейли.

standard_cauchy([size])

Генерация выборок из стандартного распределения Коши с модой = 0.

standard_exponential([size])

Генерация выборок из стандартного экспоненциального распределения.

standard_gamma(shape[, size])

Генерация выборок из стандартного гамма-распределения.

standard_normal([size])

Генерация выборок из стандартного нормального распределения (среднее=0, стандартное отклонение=1).

standard_t(df[, size])

Генерация выборок из стандартного распределения Стьюдента с df степенями свободы.

triangular(left, mode, right[, size])

Генерация выборок из треугольного распределения на интервале [left, right].

uniform([low, high, size])

Генерация выборок из равномерного распределения.

vonmises(mu, kappa[, size])

Генерация выборок из распределения фон Мизеса.

wald(mean, scale[, size])

Генерация выборок из распределения Вальда, или обратного гауссова распределения.

weibull(a[, size])

Генерация выборок из распределения Вейбулла.

zipf(a[, size])

Генерация выборок из распределения Зипфа.

Функции в numpy.random

Многие методы RandomState выше экспортированы как функции в numpy.random Это использование не рекомендуется, так как оно реализовано через глобальный экземпляр RandomState, что нежелательно по двум причинам:

  • Используется глобальное состояние, что означает, что результаты могут меняться при изменении кода.
  • Используется RandomState вместо более современного Generator.

По причинам обратной совместимости мы не можем этого изменить. См. random-quick-start.

beta(a, b[, size])

Генерация выборок из бета-распределения.

binomial(n, p[, size])

Генерация выборок из биномиального распределения.

bytes(length)

Возвращает случайные байты.

chisquare(df[, size])

Генерация выборок из хи-квадрат распределения.

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

Генерирует случайную выборку из заданного одномерного массива

dirichlet(alpha[, size])

Генерация выборок из распределения Дирихле.

exponential([scale, size])

Генерация выборок из экспоненциального распределения.

f(dfnum, dfden[, size])

Генерация выборок из F-распределения.

gamma(shape[, scale, size])

Генерация выборок из гамма-распределения.

geometric(p[, size])

Генерация выборок из геометрического распределения.

get_state()

Возвращает кортеж, представляющий внутреннее состояние генератора.

gumbel([loc, scale, size])

Генерация выборок из распределения Гумбеля.

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

Генерация выборок из гипергеометрического распределения.

laplace([loc, scale, size])

Генерация выборок из распределения Лапласа (или двойного экспоненциального распределения) с заданной локацией (или средним значением) и масштабом (затуханием).

logistic([loc, scale, size])

Генерация выборок из логистического распределения.

lognormal([mean, sigma, size])

Генерация выборок из логарифмически-нормального распределения.

logseries(p[, size])

Генерация выборок из логарифмического ряда распределения.

multinomial(n, pvals[, size])

Генерация выборок из многономиального распределения.

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

Генерация случайных выборок из многомерного нормального распределения.

negative_binomial(n, p[, size])

Генерация выборок из отрицательного биномиального распределения.

noncentral_chisquare(df, nonc[, size])

Генерация выборок из нецентрального хи-квадрат распределения.

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

Генерация выборок из нецентрального F-распределения.

normal([loc, scale, size])

Генерация случайных выборок из нормального (гауссовского) распределения.

pareto(a[, size])

Генерация выборок из распределения Парето II или Ломакса с заданной формой.

permutation(x)

Случайное переупорядочение последовательности или возврат переупорядоченного диапазона.

poisson([lam, size])

Генерация выборок из распределения Пуассона.

power(a[, size])

Генерирует выборки в [0, 1] из распределения степени с положительным показателем a - 1.

rand(d0, d1, …, dn)

Случайные значения в заданной форме.

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

Возвращает случайные целые числа от low (включительно) до high (исключительно).

randn(d0, d1, …, dn)

Возвращает выборку (или выборки) из «стандартного нормального» распределения.

random([size])

Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [0.0, 1.0).

random_integers(low[, high, size])

Случайные целые числа типа np.int_ между low и high включительно.

random_sample([size])

Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [0.0, 1.0).

ranf()

Это псевдоним для random_sample.

rayleigh([scale, size])

Генерация выборок из распределения Релея.

sample()

Это псевдоним для random_sample.

seed(self[, seed])

Перезадает начальное значение генератора MT19937 BitGenerator

set_state(state)

Устанавливает внутреннее состояние генератора из кортежа.

shuffle(x)

Изменяет последовательность на месте, перемешивая её содержимое.

standard_cauchy([size])

Генерация выборок из стандартного распределения Коши с модой = 0.

standard_exponential([size])

Генерация выборок из стандартного экспоненциального распределения.

standard_gamma(shape[, size])

Генерация выборок из стандартного гамма-распределения.

standard_normal([size])

Генерация выборок из стандартного нормального распределения (среднее=0, стандартное отклонение=1).

standard_t(df[, size])

Генерация выборок из стандартного распределения Стьюдента с df степенями свободы.

triangular(left, mode, right[, size])

Генерация выборок из треугольного распределения на интервале [left, right].

uniform([low, high, size])

Генерация выборок из равномерного распределения.

vonmises(mu, kappa[, size])

Генерация выборок из распределения Вон Миса.

wald(mean, scale[, size])

Генерация выборок из распределения Вальда (или обратного гауссова распределения).

weibull(a[, size])

Генерация выборок из распределения Вейбулла.

zipf(a[, size])

Генерация выборок из распределения Зыфа.

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/random/legacy.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API