Как установить фиксированное случайное семя в numpy? - PullRequest
0 голосов
/ 24 октября 2019

Я верил, что установка семени всегда дает один и тот же результат. Но каждый раз я получал разные результаты. Как установить начальное значение так, чтобы мы каждый раз получали один и тот же результат?

Вот MWE:

import numpy as np
import pandas as pd


random_state = 100
np.random.state = random_state
np.random.seed = random_state

mu, sigma = 0, 0.25
eps = np.random.normal(mu,sigma,size=100)
print(eps[0])

Каждый раз я получаю разные результаты.

Обновление:

Я не могу использовать np.random.seed (xxx)

Ответы [ 2 ]

1 голос
/ 25 октября 2019

np.random.seed - это функция, которая устанавливает случайное состояние глобально. В качестве альтернативы вы также можете использовать np.random.RandomState(x) для создания экземпляра случайного класса состояний для локального получения воспроизводимости. Адаптированный из вашего кода, я предоставляю альтернативный вариант следующим образом.

import numpy as np
random_state = 100
rng=np.random.RandomState(random_state )
mu, sigma = 0, 0.25
eps = rng.random.normal(mu,sigma,size=100) # Difference here
print(eps[0])

Подробнее о np.random.seed и np.random.RandomState можно найти здесь .

1 голос
/ 24 октября 2019

np.random.seed - это функция , которую вам нужно вызвать, не , назначенная ей. Например:

np.random.seed(42)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...