Запись случайных чисел (Legacy Random Generation)
Класс 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, тоMT19937BitGenerator инициализируется считыванием данных из/dev/urandom(или аналога для Windows), если доступно, или из времени системы в противном случае.
-
См. также
Примечания
Модуль Python stdlib «random» также содержит псевдослучайный генератор чисел Мерсенна-Твистера с рядом методов, аналогичных методам, доступным в
RandomState.RandomState, помимо того, что он учитывает NumPy, имеет преимущество в том, что предоставляет гораздо больше распределений вероятностей для выбора.
Задавание начального значения и состояние
Возвращает кортеж, представляющий внутреннее состояние генератора. | |
| Устанавливает внутреннее состояние генератора из кортежа. |
| Перезадает начальное значение для BitGenerator MT19937 |
Простые случайные данные
| Случайные значения заданной формы. |
| Возвращает образец (или образцы) из распределения «стандартного нормального». |
| Возвращает случайные целые числа от |
| Случайные целые числа типа |
| Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [0.0, 1.0). |
| Генерирует случайную выборку из заданного одномерного массива |
| Возвращает случайные байты. |
Перестановки
| Изменяет последовательность на месте, перемешивая ее содержимое. |
| Случайно переставляет последовательность или возвращает переставленный диапазон. |
Распределения
| Генерация выборок из бета-распределения. |
| Генерация выборок из биномиального распределения. |
| Генерация выборок из хи-квадрат распределения. |
| Генерация выборок из распределения Дирихле. |
| Генерация выборок из экспоненциального распределения. |
| Генерация выборок из F-распределения. |
| Генерация выборок из гамма-распределения. |
| Генерация выборок из геометрического распределения. |
| Генерация выборок из распределения Гумбеля. |
| Генерация выборок из гипергеометрического распределения. |
| Генерация выборок из лапласовского (или двойного экспоненциального) распределения с заданной локацией (или средним) и масштабом (убыванием). |
| Генерация выборок из логистического распределения. |
| Генерация выборок из логарифмически нормального распределения. |
| Генерация выборок из логарифмического ряда распределения. |
| Генерация выборок из многономиального распределения. |
| Генерация случайных выборок из многомерного нормального распределения. |
| Генерация выборок из отрицательного биномиального распределения. |
| Генерация выборок из нецентрального хи-квадрат распределения. |
| Генерация выборок из нецентрального F-распределения. |
| Генерация случайных выборок из нормального (гауссовского) распределения. |
| Генерация выборок из распределения Парето II или Ломакса со специфицированной формой. |
| Генерация выборок из пуассоновского распределения. |
| Генерация выборок в [0, 1] из распределения степени с положительным показателем a - 1. |
| Генерация выборок из распределения Рейли. |
| Генерация выборок из стандартного распределения Коши с модой = 0. |
| Генерация выборок из стандартного экспоненциального распределения. |
| Генерация выборок из стандартного гамма-распределения. |
| Генерация выборок из стандартного нормального распределения (среднее=0, стандартное отклонение=1). |
| Генерация выборок из стандартного распределения Стьюдента с |
| Генерация выборок из треугольного распределения на интервале |
| Генерация выборок из равномерного распределения. |
| Генерация выборок из распределения фон Мизеса. |
| Генерация выборок из распределения Вальда, или обратного гауссовского распределения. |
| Генерация выборок из распределения Вейбулла. |
| Генерация выборок из распределения Зыпфа. |
Функции в numpy.random
Многие из методов RandomState выше экспортированы как функции в numpy.random. Это использование не рекомендуется, так как оно реализовано через глобальный экземпляр RandomState, что нежелательно по двум причинам:
- Использование глобального состояния означает, что результаты могут меняться по мере изменения кода.
- Используется
RandomState, а не более современныйGenerator.
По соображениям обратной совместимости с предыдущими версиями это изменить нельзя. См. Быстрый старт.
| Генерировать выборки из бета-распределения. |
| Генерировать выборки из биномиального распределения. |
| Возвращает случайные байты. |
| Генерировать выборки из хи-квадрат распределения. |
| Генерирует случайную выборку из заданного одномерного массива |
| Генерировать выборки из дирихле-распределения. |
| Генерировать выборки из экспоненциального распределения. |
| Генерировать выборки из F-распределения. |
| Генерировать выборки из гамма-распределения. |
| Генерировать выборки из геометрического распределения. |
Возвращает кортеж, представляющий внутреннее состояние генератора. | |
| Генерировать выборки из распределения Гамбеля. |
| Генерировать выборки из гипергеометрического распределения. |
| Генерировать выборки из распределения Лапласа (или двойного экспоненциального) со заданной локацией (или средним) и масштабом (убыванием). |
| Генерировать выборки из логистического распределения. |
| Генерировать выборки из логарифмически-нормального распределения. |
| Генерировать выборки из логарифмического ряда распределения. |
| Генерировать выборки из многомерного биномиального распределения. |
| Генерировать случайные выборки из многомерного нормального распределения. |
| Генерировать выборки из отрицательного биномиального распределения. |
| Генерировать выборки из нецентрального хи-квадрат распределения. |
| Генерировать выборки из нецентрального F-распределения. |
| Генерировать случайные выборки из нормального (гауссовского) распределения. |
| Генерировать выборки из распределения Парето II или Ломакс с заданной формой. |
| Случайным образом переупорядочить последовательность или вернуть переупорядоченный диапазон. |
| Генерировать выборки из пуассоновского распределения. |
| Генерирует выборки в [0, 1] из распределения степени с положительным показателем a - 1. |
| Случайные значения в заданной форме. |
| Возвращает случайные целые числа от |
| Возвращает выборку (или выборки) из «стандартного нормального» распределения. |
| Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [0.0, 1.0). |
| Случайные целые числа типа |
| Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [0.0, 1.0). |
Это псевдоним для | |
| Генерировать выборки из распределения Релея. |
Это псевдоним для | |
| Перезадать стартовую точку для генератора MT19937 |
| Установить внутреннее состояние генератора из кортежа. |
| Изменить последовательность на месте, перемешивая её содержимое. |
| Генерировать выборки из стандартного распределения Коши с модой = 0. |
| Генерировать выборки из стандартного экспоненциального распределения. |
| Генерировать выборки из стандартного гамма-распределения. |
| Генерировать выборки из стандартного нормального распределения (среднее=0, стандартное отклонение=1). |
| Генерировать выборку из стандартного распределения Стьюдента с |
| Генерировать выборку из треугольного распределения на интервале |
| Генерировать выборку из равномерного распределения. |
| Генерировать выборку из распределения фон Мизеса. |
| Генерировать выборку из распределения Вальда, или обратного гауссова распределения. |
| Генерировать выборку из распределения Вейбулла. |
| Генерировать выборку из распределения Зипфа. |
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/random/legacy.html