np.random.seed(0)
membuat angka acak dapat diprediksi
>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55, 0.72, 0.6 , 0.54])
>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55, 0.72, 0.6 , 0.54])
Dengan reset benih (setiap kali), sama set nomor akan muncul setiap kali.
Jika seed acak tidak diatur ulang, nomor yang berbeda akan muncul di setiap permintaan:
>>> numpy.random.rand(4)
array([ 0.42, 0.65, 0.44, 0.89])
>>> numpy.random.rand(4)
array([ 0.96, 0.38, 0.79, 0.53])
(pseudo-) angka acak bekerja dengan mulai dengan angka (seed), mengalikannya dengan angka besar, menambahkan offset, kemudian mengambil modulo dari jumlah itu. Angka yang dihasilkan kemudian digunakan sebagai benih untuk menghasilkan nomor "acak" berikutnya. Ketika Anda mengatur seed (setiap waktu), ia melakukan hal yang sama setiap kali, memberi Anda nomor yang sama.
Jika Anda menginginkan angka yang tampaknya acak, jangan atur seed. Namun, jika Anda memiliki kode yang menggunakan angka acak yang ingin Anda debug, akan sangat membantu untuk mengatur seed sebelum setiap kali dijalankan sehingga kode tersebut melakukan hal yang sama setiap kali Anda menjalankannya.
Untuk mendapatkan nomor paling acak untuk setiap proses, hubungi numpy.random.seed()
. Ini akan menyebabkan numpy untuk mengatur seed ke nomor acak yang diperoleh dari /dev/urandom
atau analog Windows-nya atau, jika tidak ada yang tersedia, ia akan menggunakan jam.
Untuk informasi lebih lanjut tentang menggunakan benih untuk menghasilkan angka pseudo-random, lihat wikipedia .