Запись случайных чисел из прошлого
Класс RandomState предоставляет доступ к генераторам случайных чисел из старых версий. Этот генератор считается замороженным и больше не будет улучшаться. Он гарантирует, что будет генерировать те же значения, что и финальная версия NumPy v1.16. Все они зависят от нормального распределения Бокса-Мюллера или обратных кумулятивных функций для экспоненциального, гамма-распределения. Этот класс следует использовать только в случае, если необходимо получить случайные числа, идентичные тем, что генерировались предыдущими версиями NumPy.
RandomState добавляет дополнительную информацию в состояние, необходимую при использовании нормального распределения Бокса-Мюллера, так как эти числа генерируются парами. Важно использовать RandomState.get_state, а не базовые генераторы бит state, при доступе к состоянию, чтобы сохранить эти дополнительные значения.
Хотя мы предоставляем генератор MT19937 для независимого использования с 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.- Parameters
-
- seed{None, int, array_like, BitGenerator}, optional
-
Зерно, используемое для инициализации псевдослучайного генератора или экземпляра BitGenerator. Если целое число или массив, используется в качестве зерна для генератора MT19937. Значения могут быть любыми целыми числами от 0 до 2**32 - 1 включительно, массивом (или другой последовательностью) таких целых чисел или
None(по умолчанию). ЕслиseedравноNone, то генераторMT19937инициализируется путем считывания данных из/dev/urandom(или аналога Windows), если доступен, или зерном от часов в противном случае.
См. также
Примечания
Модуль «random» стандартной библиотеки Python также содержит псевдослучайный генератор Мерсенна-Твистера с рядом методов, аналогичных методам, доступным в
RandomState.RandomState, помимо того, что он учитывает NumPy, имеет преимущество, позволяющее выбрать из большего числа законов распределения.
Инициализация и состояние
Возвращает кортеж, представляющий внутреннее состояние генератора. | |
| Устанавливает внутреннее состояние генератора из кортежа. |
| Переинициализирует генератор 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 BitGenerator |
| Устанавливает внутреннее состояние генератора из кортежа. |
| Модифицирует последовательность на месте, перемешивая ее содержимое. |
| Выборка образцов из стандартного распределения Коши с модой = 0. |
| Выборка образцов из стандартного экспоненциального распределения. |
| Выборка образцов из стандартного гамма-распределения. |
| Выборка образцов из стандартного нормального распределения (среднее=0, стандартное отклонение=1). |
| Генерация выборок из стандартного распределения Стьюдента с |
| Генерация выборок из треугольного распределения на интервале |
| Генерация выборок из равномерного распределения. |
| Генерация выборок из распределения фон Миса. |
| Генерация выборок из распределения Вальда, или обратного гауссова распределения. |
| Генерация выборок из распределения Вейбулла. |
| Генерация выборок из распределения Зипфа. |
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/random/legacy.html