히스토그램
Coddy Machine Learning 여정의 데이터와 시각화 섹션에 포함된 레슨. 60개 중 27번째.
12건의 헬프 데스크 통화 시간(분)입니다. 히스토그램은 이와 같은 숫자들이 어떻게 분포하는지 보여 줍니다. 값의 범위를 같은 크기의 구간으로 나누고 각 구간에 속하는 값을 셉니다.
calls = [2, 3, 3, 4, 5, 5, 6, 6, 6, 7, 9, 14]
fig, ax = plt.subplots()
counts, edges, bars = ax.hist(calls, bins=4)
print(counts)
print(edges)
plt.show()대부분의 통화는 2~8분이 걸립니다. ax.hist는 집계한 값도 반환하므로, 다음과 같이 출력됩니다.
[4. 6. 1. 1.]
[ 2. 5. 8. 11. 14.]4개의 구간에는 5개의 edges가 필요합니다. 경계에 있는 값은 오른쪽 구간에 들어가며, 가장 큰 값은 예외로 마지막 구간에 남습니다.
챌린지
중급한 과수원에서 사과 120개의 무게를 weights (그램)로 측정했습니다. 프로그램은 구간의 개수를 읽습니다. 시작 코드는 제목과 레이블이 있는 차트를 설정하고 표시합니다.
- 그 구간 개수로
weights의 히스토그램을 그리고,ax.hist가 반환하는 값을 저장합니다. - 아래와 같이 가장 많은 사과가 포함된 구간의 경계값을 소수점 첫째 자리까지 반올림하고 개수를 출력합니다.
다른 과수원과 구간 6개를 사용하면, 프로그램은 다음 줄을 출력하고 Coddy가 차트를 설명합니다.
Fullest bin: 153.6 to 167.8 g, 38 apples차트는 다음과 같습니다.
직접 해보기
import numpy as np
import matplotlib.pyplot as plt
bins = int(input())
# 아래 줄들을 변경하지 마세요
rng = np.random.default_rng(11)
weights = rng.normal(150, 20, size=120)
fig, ax = plt.subplots()
ax.set_title("Apple Weights")
ax.set_xlabel("Weight (g)")
ax.set_ylabel("Apples")
# 아래에 코드를 작성하세요
# 아래 줄을 변경하지 마세요
plt.show()
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
데이터와 시각화의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러