Spec-Zone.ru › NumPy 1.17

Генератор случайных чисел

Класс Generator предоставляет доступ к широкому спектру распределений и служит заменой для RandomState. Основное различие между ними заключается в том, что Generator полагается на дополнительный генератор битов (BitGenerator) для управления состоянием и генерации случайных битов, которые затем преобразуются в случайные значения из полезных распределений. По умолчанию, Generator использует генератор битов PCG64. Генератор битов можно изменить, передав экземпляр BitGenerator в Generator.

numpy.random.default_rng()

Создаёт новый генератор с использованием генератора битов по умолчанию (PCG64).

Параметры:
seed : {None, int, array_like[ints], ISeedSequence, BitGenerator, Generator}, optional

Зерно для инициализации генератора BitGenerator. Если None, то из ОС будет извлечена свежая, непредсказуемая энтропия. Если передаётся int или array_like[ints], то это значение будет передано в SeedSequence для получения начального состояния BitGenerator. Также можно передать реализацию интерфейса ISeedSequence , например, SeedSequence. Кроме того, при передаче BitGenerator, она будет обернута в Generator. При передаче Generator, она будет возвращена без изменений.

Примечания

Когда seed опущено или None, каждый раз будет создаваться новый генератор BitGenerator и Generator. Эта функция не управляет глобальным экземпляром по умолчанию.

class numpy.random.Generator(bit_generator)

Контейнер для генераторов битов.

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

Функция numpy.random.default_rng создаст Generator с использованием по умолчанию BitGenerator.

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

Generator не гарантирует совместимость версий. В частности, по мере развития лучших алгоритмов поток битов может изменяться.

Параметры:
bit_generator : BitGenerator

Генератор битов, используемый в качестве основного генератора.

См. также

default_rng
Рекомендуемый конструктор для Generator.

Примечания

Модуль Python stdlib random содержит генератор псевдослучайных чисел с множеством методов, аналогичных методам, доступным в Generator. Он использует Mersenne Twister, и к этому генератору битов можно получить доступ с помощью MT19937. Generator, помимо того, что он NumPy-совместим, имеет преимущество в том, что предоставляет гораздо больше вероятностных распределений для выбора.

Примеры

>>> from numpy.random import Generator, PCG64
>>> rg = Generator(PCG64())
>>> rg.standard_normal()
-0.203  # random

Доступ к генератору битов

bit_generator Получает экземпляр генератора битов, используемый генератором

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

integers(low[, high, size, dtype, endpoint]) Возвращает случайные целые числа от low (включительно) до high (исключительно), или, если endpoint=True, от low (включительно) до high (включительно).
random([size, dtype, out]) Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [0.0, 1.0).
choice() choice(a, size=None, replace=True, p=None, axis=0):
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, dtype, method, out]) Генерировать выборки из стандартного экспоненциального распределения.
standard_gamma(shape[, size, dtype, out]) Генерировать выборки из стандартного гамма-распределения.
standard_normal([size, dtype, out]) Генерировать выборки из стандартного нормального распределения (среднее=0, ст. отклонение=1).
standard_t(df[, size]) Генерировать выборки из стандартного t-распределения Стьюдента со 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/random/generator.html

Spec-Zone.ru

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