주사위 눈의 합
Coddy Machine Learning 여정의 머신러닝을 위한 통계 섹션에 포함된 레슨. 64개 중 15번째.
주사위 두 개를 던져 나온 눈의 수를 더하면 7은 2보다 6배 더 자주 나옵니다. 눈의 조합을 세어 보세요:
시뮬레이션도 같은 결과를 보여 줍니다. 주사위 굴림을 하나씩 더한 다음 각 합계를 세어 보세요. 가장 자주 나온 항목부터 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: int64ax.bar(counts.index, counts)는 천막 전체를 그립니다:
이와 같은 막대 차트는 레이블을 처음 살펴볼 때 유용합니다. 드물게 나타나는 값은 모델이 거의 학습하지 못하는 값입니다.
챌린지
중급롤플레잉 게임에서 피해량은 각각 1부터 4까지 나오는 4면체 주사위 두 개의 합입니다. 프로그램은 공격 횟수를 읽고, 시작 코드에서 first와 second에 주사위 굴림 결과를 저장하고 차트에 레이블을 붙입니다.
- 각 피해량 합계가 나온 횟수를 셉니다.
- 가장 나올 확률이 높은 피해량과 전체 공격 횟수 중 그 비율을 소수점 3자리까지 출력합니다.
- 합계별 횟수를 막대 그래프로 그리고 표시합니다.
공격 횟수가 16회일 때는 결과를 신뢰하기에 너무 적습니다.
Most likely damage: 6, share 0.312그러면 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")
# 아래에 코드를 작성하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
머신러닝을 위한 통계의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러