여기에 확률을 지정할 수 있는 p 속성을 추가하겠습니다. p 속성은 각 경우의 수가 발생할 확률을 정할 수 있습니다. 0~5까지의 경우가 발생할 수 있으므로 0이 나올 확률부터 5가 나올 확률까지 하나씩 지정할 수 있습니다. 따라서 이 경우에는 p 속성에 6개의 확률이 있어야 하고 그 합이 반드시 1이어야 합니다. 0은 0.1, 1은 0.2, 2는 0.3, 3은 0.2, 4는 0.1, 5는 0.1의 확률을 지정하여 프로그램을 실행하겠습니다.
import numpy as np print(np.random.choice(6, 10, p=[0.1, 0.2, 0.3, 0.2, 0.1, 0.1]))
실행 결과
[1 4 3 2 2 5 4 1 1 5]
0은 나오지 않았고 1이 세 번, 2가 두 번, 3이 한 번, 4가 두 번, 5가 두 번 나왔네요. 한 번 더 실행하겠습니다.
실행 결과
[2 2 4 1 2 2 2 5 0 5]
이번에는 0이 한 번, 1이 한 번, 2가 다섯 번, 3은 나오지 않았고, 4가 한 번, 5는 두 번 나왔습니다. 꼭 우리가 정한 확률대로 결과가 나오지는 않는 것 같습니다. 더 많은 숫자를 발생시킨다면 p 속성으로 지정한 확률에 대한 검증이 가능할 것 같습니다. 얼마나 많은 숫자를 발생시켜야 할까요? 궁금증을 가지고 다음 내용으로 넘어가 봅시다.