Запись случайного генерирования
Класс RandomState предоставляет доступ к устаревшим генераторам. Этот генератор считается замороженным и больше не будет улучшаться. Он гарантирует воспроизведение тех же значений, что и в финальном релизе NumPy v1.16. Все они зависят от нормальных распределений Бокса—Мюллера или экспоненциальных или гамма-распределений с обратной функцией CDF. Этот класс следует использовать только в том случае, если необходимо получить случайные значения, идентичные тем, которые генерировались предыдущими версиями 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()
- classnumpy.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, имеет преимущество в том, что предоставляет гораздо больше распределений вероятностей для выбора.
Семение и состояние
Простые случайные данные
| Случайные значения заданной формы. |
| Возвращает выборку (или выборки) из «стандартного нормального» распределения. |
| Возвращает случайные целые числа от |
| Случайные целые числа типа |
| Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [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). |
| Это псевдоним |
| Выборка выборок из распределения Рейли. |
| Это псевдоним |
| Перезадает экземпляр Singleton RandomState. |
| Установка внутреннего состояния генератора из кортежа. |
| Изменение последовательности на месте путем перемешивания ее содержимого. |
| Выборка выборок из стандартного распределения Коши с модой = 0. |
| Выборка выборок из стандартного экспоненциального распределения. |
| Выборка выборок из стандартного гамма-распределения. |
| Генерация выборок из стандартного нормального распределения (среднее=0, стандартное отклонение=1). |
| Генерация выборок из стандартного распределения Стьюдента с |
| Генерация выборок из треугольного распределения на интервале |
| Генерация выборок из равномерного распределения. |
| Генерация выборок из распределения фон Мизеса. |
| Генерация выборок из распределения Вальда, или обратного гауссовского распределения. |
| Генерация выборок из распределения Вейбулла. |
| Генерация выборок из распределения Зипфа. |
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/legacy.html