Função numpy.random.seed() em NumPy

Muhammad Maisam Abbas 4 julho 2021
Função numpy.random.seed() em NumPy

Este tutorial irá explicar a função numpy.random.seed() em NumPy.

Função numpy.random.seed()

A função numpy.random.seed() é usada para definir a semente para o algoritmo gerador de números pseudo-aleatórios em Python. O algoritmo gerador de número pseudo-aleatório executa algumas operações predefinidas na semente e produz um número pseudo-aleatório na saída. A semente atua como um ponto de partida para o algoritmo. Um número pseudo-aleatório é um número que parece aleatório, mas na verdade não é. Na verdade, os computadores são incapazes de gerar um número verdadeiramente aleatório porque os computadores são determinísticos e seguem consistentemente um determinado conjunto de instruções. A ideia por trás disso é que sempre obteremos o mesmo conjunto de números aleatórios para a mesma semente em qualquer máquina.

import numpy as np

np.random.seed(1)
array = np.random.rand(5)
np.random.seed(1)
array2 = np.random.rand(5)
print(array)
print(array2)

Resultado:

[4.17022005e-01 7.20324493e-01 1.14374817e-04 3.02332573e-01
 1.46755891e-01]
[4.17022005e-01 7.20324493e-01 1.14374817e-04 3.02332573e-01
 1.46755891e-01]

No código acima, definimos a semente aleatória NumPy como 0 e geramos uma sequência de cinco números pseudo-aleatórios com base nessa semente. Em seguida, redefinimos a semente para 0 e geramos novamente uma sequência de cinco números pseudo-aleatórios com base nessa semente. Observe que ambas as vezes obtemos a mesma sequência de valores. Ambas as vezes, os números aleatórios são gerados aplicando as mesmas operações nas mesmas sementes. Este tipo de geração de número aleatório pré-determinístico é útil quando queremos gerar a mesma sequência de números aleatórios em máquinas diferentes.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn