Menu
CoddyTech

빈도로 보는 확률

Coddy Machine Learning 여정의 머신러닝을 위한 통계 섹션에 포함된 레슨. 64개 중 13번째.

스팸 필터에는 "스팸 90%"라고 표시되고, 씨앗 봉투에는 "발아율 80%"라고 표시됩니다. 확률은 장기적으로 나타나는 비율로, 0(절대 발생하지 않음)부터 1(항상 발생함)까지입니다. 씨앗 50개가 있습니다:

격자 형태의 씨앗 50개: 어두운 칸 41개는 발아했고 x 표시가 있는 옅은 칸 9개는 발아하지 않아, 확률 0.8에 대해 0.82의 비율을 보임

rng.random(n)은 0부터 1 사이의 소수를 생성하며, 그중 80%는 0.8보다 작습니다. 따라서 비교 한 번으로 씨앗 1000개를 심을 수 있습니다:

rng = np.random.default_rng(3)
sprouted = rng.random(1000) < 0.8
print(sprouted.sum())
print(sprouted.mean())

다음을 출력합니다:

814
0.814

불리언의 평균은 True의 비율입니다. 0.814로, 0.8에 가깝습니다. 이 장이 끝날 때쯤이면 이 방법으로 주사위 노점 전체의 가격을 매깁니다.

challenge icon

챌린지

중급

공격수가 일정 확률로 페널티킥을 성공시킵니다. 프로그램은 확률(0부터 1까지)을 읽은 다음 킥 횟수를 읽습니다. 시작 코드에서 rng를 만듭니다.

  1. 킥을 시뮬레이션합니다. rng.random의 값이 확률보다 작으면 골입니다.
  2. 골 수와 추정 확률을 소수점 3자리까지 반올림하여 출력합니다.

0.5의 확률로 10번 킥을 할 때, 0.5에서 크게 벗어나는 짧은 실행 결과:

Goals: 3 of 10
Estimated chance: 0.3

직접 해보기

import numpy as np

chance = float(input())
kicks = int(input())

# 아래 줄을 변경하지 마세요
rng = np.random.default_rng(21)

# 아래에 코드를 작성하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

머신러닝을 위한 통계의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러