np.random 모듈과 베르누이 시행
베르누이 시행은 편향이 있을 수 있는 동전을 던지는 것으로 생각할 수 있어요. 구체적으로, 각 동전 던지기에서 앞면(성공)이 나올 확률은 \(p\), 뒷면(실패)이 나올 확률은 $1-p$입니다. 이 연습에서는 n번의 베르누이 시행을 수행하는 함수 perform_bernoulli_trials(n, p)를 작성하고, 각 시행의 성공 확률이 p일 때 n번의 시행 중 성공 횟수를 반환하도록 할 거예요. 각 베르누이 시행을 수행할 때는 0과 1 사이의 난수를 반환하는 rng.random() 함수를 사용하세요.
이 연습은 강의의 일부입니다
Python으로 하는 Statistical Thinking (파트 1)
연습 안내
- 시그니처가
perform_bernoulli_trials(n, p)인 함수를 정의하세요.- 베르누이 시행의 성공을 의미하는
True의 개수를 세는 변수n_success를 0으로 초기화하세요. for루프를 작성해 각 반복에서 베르누이 시행을 수행하고, 결과가True이면 성공 횟수를 증가시키세요.range(n)을 순회해 총n번 반복하세요.- 베르누이 시행을 수행하려면
rng.random()을 사용해 0과 1 사이의 난수를 선택하세요. 선택한 수가p보다 작으면n_success를 증가시키세요(이를 위해+= 1연산자를 사용하세요). RNG는 이미 변수rng로 인스턴스화되고 시드가 설정되어 있어요.
- 베르누이 시행을 수행하려면
- 함수는 성공 횟수
n_success를 반환합니다.
- 베르누이 시행의 성공을 의미하는
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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