Класс RandomState
Класс RandomState - это реализация генератора псевдослучайных чисел
в библиотеке NumPy. Он предоставляет методы для генерации случайных чисел
из различных распределений: равномерного, нормального, целочисленного и других.
Первым параметром при создании объекта можно указать начальное зерно,
которое определяет последовательность случайных чисел.
Синтаксис
np.random.RandomState([seed])
Параметры
Параметр seed (необязательный) - начальное значение для генератора.
Может быть целым числом, массивом байт или другим объектом,
поддерживающим протокол буфера. Если не указан, используется
случайное начальное значение от операционной системы.
Пример
Создадим генератор с фиксированным зерном и получим случайное число:
import numpy as np
rng = np.random.RandomState(0)
res = rng.random()
print(res)
Результат выполнения кода:
0.5488135039273248
Пример
Сгенерируем массив из 5 случайных чисел из равномерного распределения:
import numpy as np
rng = np.random.RandomState(42)
arr = rng.random(5)
print(arr)
Результат выполнения кода:
[0.37454012 0.95071431 0.73199394 0.59865848 0.15601864]
Пример
Создадим два независимых генератора с одинаковым зерном и убедимся, что они выдают одинаковую последовательность:
import numpy as np
rng1 = np.random.RandomState(1)
rng2 = np.random.RandomState(1)
arr1 = rng1.randint(0, 10, 3)
arr2 = rng2.randint(0, 10, 3)
print(arr1)
print(arr2)
Результат выполнения кода:
[9 9 0]
[9 9 0]
Пример
Используем метод randn для генерации случайных чисел
из стандартного нормального распределения:
import numpy as np
rng = np.random.RandomState(0)
arr = rng.randn(4)
print(arr)
Результат выполнения кода:
[ 1.76405235 0.40015721 0.97873798 2.2408932 ]
Пример
Сгенерируем случайную целочисленную матрицу размером 2x3:
import numpy as np
rng = np.random.RandomState(5)
arr = rng.randint(0, 100, size=(2, 3))
print(arr)
Результат выполнения кода:
[[ 6 44 45]
[92 54 13]]
Смотрите также
-
метод
rand,
который генерирует случайные числа из равномерного распределения -
метод
randn,
который генерирует числа из стандартного нормального распределения -
метод
randint,
который возвращает случайные целые числа из заданного диапазона -
метод
seed,
который устанавливает начальное состояние генератора