Я некоторое время использовал случайную функциональность numpy, вызывая такие методы, как np.random.choice()
или np.random.randint()
и т. д. Я только что узнал о возможности создания объекта default_rng
или других Generator
:
from numpy.random import default_rng
gen = default_rng()
random_number = gen.integers(10)
До сих пор я всегда использовал
np.random.randint(10)
вместо этого, и мне интересно, в чем разница между обоими способами.
Единственным преимуществом, о котором я могу думать, было бы отслеживание нескольких семян или желание использовать определенные PRNG, но, возможно, есть также различия для более общего варианта использования?
randint
и другие функцииnp.random
теперь устарели в пользу генераторов. Возможность использовать несколько независимых потоков случайных чисел является одним из их преимуществ, но генераторы также позволяют вам выбирать между различными алгоритмы генератора битов или даже реализовать свои собственные, что делает его более гибким и может упростить воспроизводимость. - person jdehesa   schedule 09.03.2020