Метод seed
Метод seed класса RandomState устанавливает начальное зерно для генератора псевдослучайных чисел. При одинаковом значении зерна генератор будет выдавать одну и ту же последовательность случайных чисел, что важно для воспроизводимости результатов экспериментов. Метод принимает целое неотрицательное число в качестве параметра.
Синтаксис
np.random.RandomState.seed(seed)
Пример
Давайте создадим экземпляр RandomState с явным указанием зерна и получим случайные числа:
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(123)
rng2 = np.random.RandomState(123)
arr1 = rng1.randint(0, 100, 3)
arr2 = rng2.randint(0, 100, 3)
print(arr1)
print(arr2)
Результат выполнения кода:
[66 92 98]
[66 92 98]
Пример
Метод seed можно использовать для переустановки генератора в процессе работы:
import numpy as np
rng = np.random.RandomState(1)
arr1 = rng.choice(10, 3)
print(arr1)
rng.seed(1)
arr2 = rng.choice(10, 3)
print(arr2)
Результат выполнения кода:
[5 8 9]
[5 8 9]
Смотрите также
-
класс
RandomState,
который управляет генерацией случайных чисел -
метод
rand,
который генерирует случайные числа из равномерного распределения -
метод
randint,
который генерирует случайные целые числа -
метод
permutation,
который перемешивает последовательность случайным образом