Modul random Numpy, sekumpulan fungsi yang berbasis pada pembangkitan bilangan acak semu. Acak berarti sesuatu yang tidak dapat diprediksi secara logis.
Modul random Numpy adalah sekumpulan fungsi yang berbasis pada pembangkitan bilangan acak semu. Acak berarti sesuatu yang tidak dapat diprediksi secara logis.
np.random.seed() Function
Dalam contoh ini, Anda akan mensimulasikan pelemparan koin. Anda akan menggunakan fungsi np.random(), yang mengambil angka antara 0 dan 1 sehingga semua angka dalam interval ini memiliki kemungkinan yang sama untuk muncul.
Jika angka yang Anda ambil kurang dari 0,5, yang kemungkinannya 50%, Anda sebut sisi depan (heads) dan selain itu sisi belakang (tails). Jenis hasil di mana hasilnya True (Heads) atau False (Tails) ini disebut percobaan Bernoulli.
Bilangan acak semu bekerja dengan memulai dari sebuah bilangan bulat yang disebut seed lalu menghasilkan angka secara berurutan. Seed yang sama menghasilkan urutan bilangan acak yang sama, karenanya disebut pembangkitan bilangan acak "semu". Jika Anda ingin kode yang dapat direproduksi, sebaiknya melakukan seed pada generator bilangan acak menggunakan fungsi np.random.seed().
Untuk melakukan pelemparan koin, Anda mengimpor NumPy, memberikan seed pada generator bilangan acak, lalu mengambil empat angka acak. Anda dapat menentukan berapa banyak angka acak yang diinginkan dengan kata kunci size.
import numpy as np
np.random.seed(42)
random_numbers = np.random.random(size=4)
random_numbers
Didukung oleh
array([0.3745012,0.95071431,0.73199394,0.59865848])Didukung oleh
Angka pertama yang Anda dapatkan kurang dari 0,5, jadi itu heads sementara tiga sisanya tails. Anda dapat menampilkannya secara eksplisit menggunakan operasi kurang dari, yang memberi Anda sebuah array dengan nilai boolean, True untuk heads dan False untuk tails.
array([True, False, False, False], dtype=bool)Didukung oleh
Terakhir, Anda dapat menghitung jumlah heads dengan menjumlahkan array boolean heads, karena dalam konteks numerik, Python memperlakukan True sebagai satu dan False sebagai nol.
Pada contoh berikut, kita ingin mengetahui probabilitas mendapatkan empat heads jika kita mengulangi empat lemparan koin tersebut berkali-kali. Kita dapat melakukannya dengan for loop.
Pertama kita inisialisasi hitungan ke nol. Lalu kita melakukan 10.000 pengulangan percobaan empat lemparan. Jika suatu percobaan menghasilkan empat heads, kita menambah hitungan.
Jadi berapa probabilitas mendapatkan empat heads sekaligus? Yaitu jumlah kejadian Anda mendapatkan semua heads, dibagi total jumlah percobaan. Hasilnya sekitar 0,06.
n_all_heads =0# Initialize number of 4-heads trialsfor _ inrange(10000):
heads = np.random.random(size=4)<0.5
n_heads = np.sum(heads)if n_heads ==4:
n_all_heads +=1
n_all_heads /10000Didukung oleh
Dalam contoh ini, kita akan menghasilkan banyak angka acak antara nol dan satu, lalu membuat histogram hasilnya. Jika angkanya benar-benar acak, semua batang pada histogram seharusnya memiliki tinggi yang (hampir) sama.
Untuk contoh ini Anda perlu:
Memberi seed pada generator bilangan acak dengan np.random.seed menggunakan seed 42.
Menginisialisasi array kosong, random_numbers, sebanyak 100.000 entri untuk menyimpan angka acak. Pastikan menggunakan np.empty(100000) untuk melakukannya.
Menulis for loop untuk mengambil 100.000 angka acak menggunakan np.random.random(), menyimpannya ke array random_numbers. Untuk itu, lakukan loop atas range(100000).
Membuat histogram dari random_numbers. Tidak perlu memberi label sumbu dalam kasus ini karena kita hanya memeriksa generator bilangan acak.
# Seed the random number generator
np.random.seed(42)# Initialize random numbers: random_numbers
random_numbers = np.empty(100000)# Generate random numbers by looping over range(100000)for i inrange(100000):
random_numbers[i]= np.random.random()# Plot a histogram
_ = plt.hist(random_numbers)# Show the plot
plt.show()Didukung oleh
Saat kita menjalankan kode di atas, ini menghasilkan hasil berikut:
Untuk mempelajari lebih lanjut tentang generator bilangan acak dan hacker statistics, silakan lihat video dari kursus kami Statistical Thinking in Python (Part 1).
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Modul random Numpy adalah sekumpulan fungsi yang berbasis pada pembangkitan bilangan acak semu. Acak berarti sesuatu yang tidak dapat diprediksi secara logis.
np.random.seed()FunctionDalam contoh ini, Anda akan mensimulasikan pelemparan koin. Anda akan menggunakan fungsi
np.random(), yang mengambil angka antara 0 dan 1 sehingga semua angka dalam interval ini memiliki kemungkinan yang sama untuk muncul.Jika angka yang Anda ambil kurang dari 0,5, yang kemungkinannya 50%, Anda sebut sisi depan (heads) dan selain itu sisi belakang (tails). Jenis hasil di mana hasilnya True (Heads) atau False (Tails) ini disebut percobaan Bernoulli.
Bilangan acak semu bekerja dengan memulai dari sebuah bilangan bulat yang disebut seed lalu menghasilkan angka secara berurutan. Seed yang sama menghasilkan urutan bilangan acak yang sama, karenanya disebut pembangkitan bilangan acak "semu". Jika Anda ingin kode yang dapat direproduksi, sebaiknya melakukan seed pada generator bilangan acak menggunakan fungsi
np.random.seed().Untuk melakukan pelemparan koin, Anda mengimpor
NumPy, memberikan seed pada generator bilangan acak, lalu mengambil empat angka acak. Anda dapat menentukan berapa banyak angka acak yang diinginkan dengan kata kuncisize.Angka pertama yang Anda dapatkan kurang dari 0,5, jadi itu heads sementara tiga sisanya tails. Anda dapat menampilkannya secara eksplisit menggunakan operasi kurang dari, yang memberi Anda sebuah array dengan nilai boolean, True untuk heads dan False untuk tails.
Terakhir, Anda dapat menghitung jumlah heads dengan menjumlahkan array boolean
heads, karena dalam konteks numerik, Python memperlakukan True sebagai satu dan False sebagai nol.Mensimulasikan Empat Lemparan Koin Acak
Pada contoh berikut, kita ingin mengetahui probabilitas mendapatkan empat heads jika kita mengulangi empat lemparan koin tersebut berkali-kali. Kita dapat melakukannya dengan for loop.
Pertama kita inisialisasi hitungan ke nol. Lalu kita melakukan 10.000 pengulangan percobaan empat lemparan. Jika suatu percobaan menghasilkan empat heads, kita menambah hitungan.
Jadi berapa probabilitas mendapatkan empat heads sekaligus? Yaitu jumlah kejadian Anda mendapatkan semua heads, dibagi total jumlah percobaan. Hasilnya sekitar 0,06.
Contoh Interaktif Membuat Angka Acak
Dalam contoh ini, kita akan menghasilkan banyak angka acak antara nol dan satu, lalu membuat histogram hasilnya. Jika angkanya benar-benar acak, semua batang pada histogram seharusnya memiliki tinggi yang (hampir) sama.
Untuk contoh ini Anda perlu:
np.random.seedmenggunakan seed42.angka acak. Pastikan menggunakannp.empty(100000)untuk melakukannya.forloop untuk mengambil 100.000 angka acak menggunakannp.random.random(), menyimpannya ke arrayrandom_numbers. Untuk itu, lakukan loop atasrange(100000).random_numbers. Tidak perlu memberi label sumbu dalam kasus ini karena kita hanya memeriksa generator bilangan acak.Saat kita menjalankan kode di atas, ini menghasilkan hasil berikut:
Coba sendiri.
Untuk mempelajari lebih lanjut tentang generator bilangan acak dan hacker statistics, silakan lihat video dari kursus kami Statistical Thinking in Python (Part 1).
Konten ini diambil dari kursus DataCamp Statistical Thinking in Python (Part 1) oleh Justin Bois.