Запись случайных чисел из устаревшего кода
Класс 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.- Parameters
-
-
seed{None, int, array_like, BitGenerator}, optional -
Случайное начальное значение, используемое для инициализации псевдослучайного генератора чисел или экземпляра BitGenerator. Если целое число или массив, используется в качестве начального значения для генератора MT19937. Значения могут быть любыми целыми числами от 0 до 2**32 - 1 включительно, массивом (или другой последовательностью) таких целых чисел или
None(по умолчанию). Еслиseedимеет значениеNone, тогдаMT19937BitGenerator инициализируется, считывая данные из/dev/urandom(или аналога для Windows), если доступно, или из часов в противном случае.
-
См. также
Примечания
Модуль Python stdlib “random” также содержит псевдослучайный генератор Мерсенна-Твистер с рядом методов, аналогичных методам
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.
По причинам обратной совместимости со старыми версиями мы не можем этого изменить. См. random-quick-start.
| Выборка образцов из бета-распределения. |
| Выборка образцов из биномиального распределения. |
| Возврат случайных байтов. |
| Выборка образцов из распределения хи-квадрат. |
| Генерирует случайную выборку из заданного одномерного массива |
| Выборка образцов из распределения Дирихле. |
| Выборка образцов из экспоненциального распределения. |
| Выборка образцов из F-распределения. |
| Выборка образцов из гамма-распределения. |
| Выборка образцов из геометрического распределения. |
Возвращает кортеж, представляющий внутреннее состояние генератора. | |
| Выборка образцов из распределения Гамбеля. |
| Выборка образцов из гипергеометрического распределения. |
| Выборка образцов из лапласовского или двойного экспоненциального распределения с заданным положением (или средним) и масштабом (затуханием). |
| Выборка образцов из логистического распределения. |
| Выборка образцов из логарифмически-нормального распределения. |
| Выборка образцов из логарифмического ряда распределения. |
| Выборка образцов из многомерного распределения. |
| Выборка случайных образцов из многомерного нормального распределения. |
| Выборка образцов из отрицательного биномиального распределения. |
| Выборка образцов из нецентрального распределения хи-квадрат. |
| Выборка образцов из нецентрального F-распределения. |
| Выборка случайных образцов из нормального (гауссовского) распределения. |
| Выборка образцов из распределения Парето II или Ломакса со заданной формой. |
| Случайное перестановки последовательности или возвращает перестановку диапазона. |
| Выборка образцов из пуассоновского распределения. |
| Выборка образцов в [0, 1] из распределения степени с положительным показателем a - 1. |
| Случайные значения заданной формы. |
| Возвращает случайные целые числа от |
| Возвращает образец (или образцы) из «стандартного нормального» распределения. |
| Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [0,0, 1,0). |
| Случайные целые числа типа |
| Возвращает случайные числа с плавающей точкой в полуоткрытом интервале [0.0, 1.0). |
| Это псевдоним для |
| Выборка образцов из распределения Релея. |
| Это псевдоним для |
| Перезадаёт стартовое значение для генератора MT19937 |
| Устанавливает внутреннее состояние генератора из кортежа. |
| Изменяет последовательность на месте, перемешивая её содержимое. |
| Выборка образцов из стандартного распределения Коши с модой = 0. |
| Выборка образцов из стандартного экспоненциального распределения. |
| Выборка образцов из стандартного гамма-распределения. |
| Выборка образцов из стандартного нормального распределения (среднее=0, стандартное отклонение=1). |
| Генерация выборок из стандартного распределения Стьюдента с |
| Генерация выборок из треугольного распределения на интервале |
| Генерация выборок из равномерного распределения. |
| Генерация выборок из распределения Вон Миса. |
| Генерация выборок из распределения Вальда, или обратного гамма-распределения. |
| Генерация выборок из распределения Вейбулла. |
| Генерация выборок из распределения Зипфа. |
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/random/legacy.html