Q:

Consistência nos resultados em Python

Olá, estou estudando código em python e me deparei com esta linha:
np.random.seed(0)

no qual diz para consistência de resultados. Eu pesquisei, mas ainda não consegui compreender a função desse comando. Alguém poderia explicar ou indicar o local onde posso encontrar documentação?
Valeu ajuda. 

A:

np.random.seed(0) define que a geração randômica de números seguirá um padrão pré definido.
Ao fazer np.random.seed(0), a próxima chamada de numpy.random.rand(n), sendo n o tamanho do vetor a ser gerado, seguirá um padrão fixo.
Por exemplo, sem definir uma seed, chamadas iguais de numpy.random.rand(n) retornariam resultados diferentes.
>>> numpy.random.rand(5)
array([0.79172504, 0.52889492, 0.56804456, 0.92559664, 0.07103606])
>>> numpy.random.rand(5)
array([0.64589411, 0.43758721, 0.891773  , 0.96366276, 0.38344152])

Porém ao setar a seed antes de chamar numpy.random.rand(n), você garante que a sequência gerada será igual / seguirá o mesmo padrão todas as vezes.
>>> numpy.random.seed(0)
>>> numpy.random.rand(5)
array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])
>>> numpy.random.seed(0)
>>> numpy.random.rand(5)
array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])

Note que ao chamar numpy.random.rand(5), a seed é resetada, sendo necessário seta-la novamento com numpy.random.seed(0).

