Устаревшая генерация случайных чисел#
The RandomState предоставляет доступ к
устаревшим генераторам. Этот генератор считается замороженным и не будет иметь дальнейших улучшений. Гарантируется, что он производит те же значения, что и финальный релиз NumPy v1.16. Все они зависят от нормальных распределений Box-Muller или обратных CDF экспоненциальных или гамма-распределений. Этот класс следует использовать только в том случае, если существенно важно иметь случайные числа, идентичные тем, которые были бы произведены предыдущими версиями NumPy.
RandomState добавляет дополнительную информацию
в состояние, которая требуется при использовании нормалей Бокса-Мюллера, поскольку они
производятся парами. Важно использовать
RandomState.get_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()
- класс numpy.random.RandomState(seed=None)#
Контейнер для медленного генератора псевдослучайных чисел Mersenne Twister. Рекомендуется использовать другой BitGenerator с контейнером Generator.
RandomStateиGeneratorпредоставляют ряд методов для генерации случайных чисел, взятых из различных распределений вероятностей. В дополнение к специфичным для распределения аргументам, каждый метод принимает ключевой аргумент размер который по умолчанию равенNone. Если размер являетсяNone, тогда генерируется и возвращается одно значение. Если размер является целым числом, то возвращается одномерный массив, заполненный сгенерированными значениями. Если размер является кортежем, то массив с такой формой заполняется и возвращается.Гарантия совместимости
Фиксированный генератор случайных чисел с фиксированным сидом и фиксированной серией вызовов методов 'RandomState' с теми же параметрами всегда будет давать одинаковые результаты с точностью до ошибок округления, за исключением случаев, когда значения были некорректными.
RandomStateфактически заморожен и будет получать только обновления, необходимые из-за изменений во внутренней структуре Numpy. Более существенные изменения, включая алгоритмические улучшения, зарезервированы дляGenerator.- Параметры:
- seed{None, int, array_like, BitGenerator}, опционально
Случайное начальное значение, используемое для инициализации псевдослучайного генератора чисел или инициализированного BitGenerator. Если указано целое число или массив, используется как начальное значение для MT19937 BitGenerator. Значения могут быть любым целым числом от 0 до 2**32 - 1 включительно, массивом (или другой последовательностью) таких целых чисел, или
None(по умолчанию). ЕслиseedявляетсяNone, тогдаMT19937BitGenerator инициализируется чтением данных из/dev/urandom(или аналог в Windows), если доступен, или инициализация от часов в противном случае.
Смотрите также
Примечания
Модуль стандартной библиотеки Python 'random' также содержит генератор псевдослучайных чисел Mersenne Twister с рядом методов, похожих на доступные в
RandomState.RandomState, помимо того, что он поддерживает NumPy, имеет преимущество в том, что предоставляет гораздо большее количество распределений вероятностей на выбор.
Инициализация генератора и состояние#
Простые случайные данные#
|
Случайные значения заданной формы. |
|
Возвращает выборку (или выборки) из "стандартного нормального" распределения. |
|
Возвращает случайные целые числа из низкий (включительно) до высокий (исключительно). |
|
Случайные целые числа типа |
|
Возвращает случайные числа с плавающей запятой в полуоткрытом интервале [0.0, 1.0). |
|
Генерирует случайную выборку из заданного одномерного массива |
|
Возвращает случайные байты. |
Перестановки#
|
Изменяет последовательность на месте, перемешивая её содержимое. |
|
Случайно переставить последовательность или вернуть переставленный диапазон. |
Распределения#
|
Извлечь выборки из бета-распределения. |
|
Генерация выборок из биномиального распределения. |
|
Генерирует выборки из распределения хи-квадрат. |
|
Извлечь выборки из распределения Дирихле. |
|
Извлечение выборок из экспоненциального распределения. |
|
Извлечение выборок из распределения Фишера. |
|
Извлечение выборок из гамма-распределения. |
|
Извлечение выборок из геометрического распределения. |
|
Генерировать выборки из распределения Гумбеля. |
|
Извлечь выборки из гипергеометрического распределения. |
|
Извлечение выборок из распределения Лапласа или двойного экспоненциального распределения с указанным местоположением (или средним) и масштабом (затуханием). |
|
Извлечь выборки из логистического распределения. |
|
Извлечь выборки из логнормального распределения. |
|
Извлечь выборки из логарифмического серийного распределения. |
|
Извлеките выборки из мультиномиального распределения. |
|
Сгенерировать случайные выборки из многомерного нормального распределения. |
|
Извлекать выборки из отрицательного биномиального распределения. |
|
Извлеките выборки из нецентрального распределения хи-квадрат. |
|
Генерация выборок из нецентрального F-распределения. |
|
Генерация случайных выборок из нормального (гауссовского) распределения. |
|
Извлечь выборки из распределения Парето II или Ломакса с заданной формой. |
|
Извлечение выборок из распределения Пуассона. |
|
Генерирует выборки в [0, 1] из степенного распределения с положительным показателем a - 1. |
|
Извлечение выборок из распределения Рэлея. |
|
Извлеките выборки из стандартного распределения Коши с модой = 0. |
|
Извлечь выборки из стандартного экспоненциального распределения. |
|
Извлечь выборки из стандартного гамма-распределения. |
|
Извлечь выборки из стандартного нормального распределения (среднее=0, стандартное отклонение=1). |
|
Извлечение выборок из стандартного распределения Стьюдента с df степени свободы. |
|
Извлечь выборки из треугольного распределения на интервале |
|
Извлекайте выборки из равномерного распределения. |
|
Взятие выборок из распределения фон Мизеса. |
|
Генерация выборок из распределения Вальда или обратного гауссовского распределения. |
|
Извлечь выборки из распределения Вейбулла. |
|
Генерация выборок из распределения Ципфа. |
Функции в numpy.random#
Многие из методов RandomState выше экспортируются как функции в
numpy.random Это использование не рекомендуется, так как оно реализовано через глобальную
RandomState экземпляр, что не рекомендуется по двум причинам:
Он использует глобальное состояние, что означает, что результаты будут меняться по мере изменения кода
Он использует
RandomStateвместо более современногоGenerator.
По соображениям обратной совместимости и наследия мы не будем это менять.
|
Извлечь выборки из бета-распределения. |
|
Генерация выборок из биномиального распределения. |
|
Возвращает случайные байты. |
|
Генерирует выборки из распределения хи-квадрат. |
|
Генерирует случайную выборку из заданного одномерного массива |
|
Извлечь выборки из распределения Дирихле. |
|
Извлечение выборок из экспоненциального распределения. |
|
Извлечение выборок из распределения Фишера. |
|
Извлечение выборок из гамма-распределения. |
|
Извлечение выборок из геометрического распределения. |
|
Возвращает кортеж, представляющий внутреннее состояние генератора. |
|
Генерировать выборки из распределения Гумбеля. |
|
Извлечь выборки из гипергеометрического распределения. |
|
Извлечение выборок из распределения Лапласа или двойного экспоненциального распределения с указанным местоположением (или средним) и масштабом (затуханием). |
|
Извлечь выборки из логистического распределения. |
|
Извлечь выборки из логнормального распределения. |
|
Извлечь выборки из логарифмического серийного распределения. |
|
Извлеките выборки из мультиномиального распределения. |
|
Сгенерировать случайные выборки из многомерного нормального распределения. |
|
Извлекать выборки из отрицательного биномиального распределения. |
|
Извлеките выборки из нецентрального распределения хи-квадрат. |
|
Генерация выборок из нецентрального F-распределения. |
|
Генерация случайных выборок из нормального (гауссовского) распределения. |
|
Извлечь выборки из распределения Парето II или Ломакса с заданной формой. |
|
Случайно переставить последовательность или вернуть переставленный диапазон. |
|
Извлечение выборок из распределения Пуассона. |
|
Генерирует выборки в [0, 1] из степенного распределения с положительным показателем a - 1. |
|
Случайные значения заданной формы. |
|
Возвращает случайные целые числа из низкий (включительно) до высокий (исключительно). |
|
Возвращает выборку (или выборки) из "стандартного нормального" распределения. |
|
Возвращает случайные числа с плавающей запятой в полуоткрытом интервале [0.0, 1.0). |
|
Случайные целые числа типа |
|
Возвращает случайные числа с плавающей запятой в полуоткрытом интервале [0.0, 1.0). |
|
Это псевдоним |
|
Извлечение выборок из распределения Рэлея. |
|
Это псевдоним |
|
Переинициализировать экземпляр-синглтон RandomState. |
|
Установите внутреннее состояние генератора из кортежа. |
|
Изменяет последовательность на месте, перемешивая её содержимое. |
|
Извлеките выборки из стандартного распределения Коши с модой = 0. |
|
Извлечь выборки из стандартного экспоненциального распределения. |
|
Извлечь выборки из стандартного гамма-распределения. |
|
Извлечь выборки из стандартного нормального распределения (среднее=0, стандартное отклонение=1). |
|
Извлечение выборок из стандартного распределения Стьюдента с df степени свободы. |
|
Извлечь выборки из треугольного распределения на интервале |
|
Извлекайте выборки из равномерного распределения. |
|
Взятие выборок из распределения фон Мизеса. |
|
Генерация выборок из распределения Вальда или обратного гауссовского распределения. |
|
Извлечь выборки из распределения Вейбулла. |
|
Генерация выборок из распределения Ципфа. |