np.random modülü ve Bernoulli denemeleri
Bir Bernoulli denemesini, önyargılı olabilecek bir yazı-tura atışı gibi düşünebilirsin. Özellikle, her atışın yazı (başarı) gelme olasılığı \(p\), tura (başarısızlık) gelme olasılığı ise \(1-p\)'dir. Bu egzersizde, n adet Bernoulli denemesi yapan ve her bir denemenin başarı olasılığı p olan perform_bernoulli_trials(n, p) adlı bir fonksiyon yazacaksın; fonksiyon n denemeden elde edilen başarı sayısını döndürecek. Her Bernoulli denemesini gerçekleştirmek için, sıfır ile bir arasında rastgele bir sayı döndüren rng.random() fonksiyonunu kullan.
Bu egzersiz
Python ile İstatistiksel Düşünme (Bölüm 1)
kursunun bir parçasıdırEgzersiz talimatları
- İmzası
perform_bernoulli_trials(n, p)olan bir fonksiyon tanımla.- Bernoulli denemelerinde başarıları temsil eden
True'ların sayacının_successdeğişkeniyle sıfıra ayarla. - Her yinelemede bir Bernoulli denemesi yaptığın ve sonuç
Trueise başarı sayısını artırdığın birfordöngüsü yaz.range(n)üzerinde döngü kuraraknyineleme yap.- Bir Bernoulli denemesi yapmak için
rng.random()kullanarak sıfır ile bir arasında bir rastgele sayı seç. Seçtiğin sayıp'den küçükse,n_success'i artır (bunu yapmak için+= 1operatörünü kullan). Bir RNG,rngdeğişkeni olarak zaten oluşturuldu ve tohumlandı.
- Bir Bernoulli denemesi yapmak için
- Fonksiyon, başarı sayısı
n_success'i döndürür.
- Bernoulli denemelerinde başarıları temsil eden
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def perform_bernoulli_trials(n, p):
"""Perform n Bernoulli trials with success probability p
and return number of successes."""
# Initialize number of successes: n_success
n_success = ____
# Perform trials
for i in ____:
# Choose random number between zero and one: random_number
# If less than p, it's a success so add one to n_success
if ____:
____
return n_success