numpy.random --- Pembangkitan bilangan acak

Submodul numpy.random menyediakan kelas Generator yang mengambil sampel dari distribusi probabilitas umum. Algoritma yang mendasarinya adalah generator kongruensial terpermuasi (PCG); lihat https://www.pcg-random.org/ untuk detailnya.

Sebuah Generator adalah objek berstateful: setiap pemanggilan salah satu metode pengambilan sampelnya memajukan status internal, sehingga pemanggilan berturut-turut menghasilkan sampel yang independen. Array keluaran selalu bertipe dtype numpy.float.

Kelas

class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)

Membuat generator bilangan pseudo-acak baru.

Parameter:

seed -- seed yang digunakan untuk menginisialisasi status generator. Jika bilangan bulat diberikan, nilai tersebut digunakan secara langsung. Jika tuple bilangan bulat diberikan, tuple objek Generator yang di-seed secara independen (satu per elemen) dikembalikan alih-alih satu instance tunggal. Jika None diberikan, seed default platform digunakan (ketika satu dikonfigurasi pada waktu kompilasi); jika tidak, ValueError akan dimunculkan.

Pengecualian:
  • TypeError -- jika seed bukan None, bilangan bulat, atau tuple bilangan bulat.

  • ValueError -- jika seed adalah None dan tidak ada seed default yang dikonfigurasi.

normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray

Mengambil sampel dari distribusi normal (Gaussian).

Parameter:
  • loc -- rata-rata (pusat) dari distribusi.

  • scale -- deviasi standar (lebar) dari distribusi. Harus tidak negatif.

  • size -- bentuk keluaran. Jika berupa bilangan bulat, array satu dimensi dengan panjang tersebut dikembalikan. Jika berupa tuple, array dengan bentuk tersebut dikembalikan. Jika None (nilai default), sebuah Python float tunggal dikembalikan.

Kembali:

berupa Python float atau numpy.ndarray bertipe float dengan bentuk yang diminta.

Pengecualian:
  • ValueError -- jika bentuk yang diminta melebihi ULAB_MAX_DIMS.

  • TypeError -- jika size bukan None, bilangan bulat, maupun tuple.

Sampel dihasilkan menggunakan transformasi Box-Muller.

random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray

Mengambil sampel dari distribusi seragam pada interval setengah-terbuka [0.0, 1.0).

Parameter:
  • size -- bentuk keluaran. Jika berupa bilangan bulat, array satu dimensi dengan panjang tersebut dikembalikan. Jika berupa tuple, array dengan bentuk tersebut dikembalikan. Jika None (nilai default) dan out juga None, sebuah Python float tunggal dikembalikan.

  • out -- array float numpy.ndarray yang padat dan telah dialokasikan sebelumnya secara opsional untuk menerima sampel. Jika keduanya size dan out diberikan, bentuk mereka harus sesuai.

Kembali:

berupa Python float, numpy.ndarray baru, atau out (diisi dengan sampel) tergantung pada argumen.

Pengecualian:
  • TypeError -- jika size memiliki tipe yang tidak didukung, atau out bukan ndarray, atau out tidak bertipe dtype float.

  • ValueError -- jika bentuk yang diminta melebihi ULAB_MAX_DIMS, jika size dan out.shape tidak cocok, atau jika out tidak kontinu.

uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray

Mengambil sampel dari distribusi seragam pada interval setengah-terbuka [low, high).

Parameter:
  • low -- batas bawah (inklusif) dari distribusi.

  • high -- batas atas (eksklusif) dari distribusi.

  • size -- bentuk keluaran. Jika berupa tuple, array dengan bentuk tersebut dikembalikan. Jika None (nilai default), sebuah Python float tunggal yang diambil dari [0.0, 1.0) dikembalikan (batas low/high diabaikan pada kasus skalar).

Kembali:

berupa Python float atau numpy.ndarray bertipe float dengan bentuk yang diminta.

Pengecualian:
  • ValueError -- jika bentuk yang diminta melebihi ULAB_MAX_DIMS.

  • TypeError -- jika size bukan None maupun tuple.

Dengan argumen default yang identik, uniform() menghasilkan urutan yang sama dengan random().