Генератор случайных чисел
Класс 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