Menu
CoddyTech

주사위 눈의 합

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

주사위 두 개를 던져 나온 눈의 수를 더하면 7은 2보다 6배 더 자주 나옵니다. 눈의 조합을 세어 보세요:

주사위 두 개의 눈의 합을 나타낸 6×6 격자. 첫 번째 주사위는 옆면을 따라 아래로, 두 번째 주사위는 위쪽을 따라 가로로 표시되어 있습니다. 합이 7이 되는 6개의 칸은 모서리에서 모서리로 이어지며 음영 처리되어 있고, 합이 2가 되는 칸은 하나뿐입니다.

시뮬레이션도 같은 결과를 보여 줍니다. 주사위 굴림을 하나씩 더한 다음 각 합계를 세어 보세요. 가장 자주 나온 항목부터 value_counts에 나열됩니다.

rng = np.random.default_rng(2)
first = rng.integers(1, 7, size=3600)
second = rng.integers(1, 7, size=3600)
counts = pd.Series(first + second).value_counts()
print(counts.head(3))

다음이 출력됩니다:

7    605
6    522
8    443
Name: count, dtype: int64

ax.bar(counts.index, counts)는 천막 전체를 그립니다:

주사위 두 개를 3600번 굴린 결과를 나타낸 막대그래프: 합계가 2일 때 약 100에서 시작해 7일 때 약 600으로 정점에 이른 다음, 12일 때 약 100으로 다시 내려갑니다

이와 같은 막대 차트는 레이블을 처음 살펴볼 때 유용합니다. 드물게 나타나는 값은 모델이 거의 학습하지 못하는 값입니다.

challenge icon

챌린지

중급

롤플레잉 게임에서 피해량은 각각 1부터 4까지 나오는 4면체 주사위 두 개의 합입니다. 프로그램은 공격 횟수를 읽고, 시작 코드에서 first와 second에 주사위 굴림 결과를 저장하고 차트에 레이블을 붙입니다.

  1. 각 피해량 합계가 나온 횟수를 셉니다.
  2. 가장 나올 확률이 높은 피해량과 전체 공격 횟수 중 그 비율을 소수점 3자리까지 출력합니다.
  3. 합계별 횟수를 막대 그래프로 그리고 표시합니다.

공격 횟수가 16회일 때는 결과를 신뢰하기에 너무 적습니다.

Most likely damage: 6, share 0.312

공격 16회의 Damage Rolls 막대 그래프: 3, 5, 6, 7, 8에 막대가 있으며, 6의 막대가 가장 높고 주사위 굴림 횟수는 5회입니다

그러면 Coddy가 차트를 설명합니다. 공격 횟수가 많아지면 최고점이 안정됩니다.

직접 해보기

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

rolls = int(input())

# 아래 줄은 변경하지 마세요
rng = np.random.default_rng(4)
first = rng.integers(1, 5, size=rolls)
second = rng.integers(1, 5, size=rolls)

fig, ax = plt.subplots()
ax.set_title("Damage Rolls")
ax.set_xlabel("Damage")
ax.set_ylabel("Rolls")

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

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

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

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