Menu
CoddyTech

밀도 히스토그램

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

이 장에서는 데이터의 형태를 다룹니다. 이 장을 마치면 히스토그램에 종 모양 곡선을 맞추고 특이값을 찾아낼 수 있습니다:

멜론 300개의 무게를 나타낸 히스토그램 위에 부드러운 주황색 종 모양 곡선이 있고 가장 가벼운 멜론 아래에 빨간 점이 있는 그림

먼저 수정할 점이 있습니다. 빈도는 큰 집단이 작은 집단을 압도하게 만듭니다. 예를 들어 성인 500명의 반응 시간과 게이머 50명의 반응 시간을 비교하면 그렇습니다.

같은 반응 시간을 보여 주는 두 개의 차트. 왼쪽, 빈도: 성인 500명의 막대가 게이머 50명의 막대를 압도해 게이머의 막대는 거의 보이지 않습니다. 오른쪽, density=True: 두 집단이 모두 온전히 표시되며, 게이머가 더 빠르고 더 밀집되어 있습니다.

density=True는 각 그룹의 막대 면적 합이 1이 되도록 조정합니다:

ax.hist(adults, bins=16, density=True, alpha=0.5, label="adults")
ax.hist(gamers, bins=16, density=True, alpha=0.5, label="gamers")

각 높이는 count / (n * bin width)이므로, 막대의 면적은 그룹에서 차지하는 비율입니다. 이제 크기가 다른 그룹도 공정하게 비교할 수 있습니다.

challenge icon

챌린지

쉬움

도시 병원에서는 신생아 400명의 체중을 측정했고, 시골 병원에서는 60명의 체중을 측정했습니다. 시작 코드에는 체중이 city와 rural에 저장되어 있으며, 제목과 레이블이 설정된 차트가 준비되어 있습니다.

  1. 각 그룹의 밀도 히스토그램을 bins=10, alpha=0.5와 city 또는 rural 레이블을 사용해 그리세요.
  2. 범례를 추가하고 차트를 표시하세요.

Coddy가 차트를 설명해 줍니다. 두 토마토 재배자의 데이터로 만든 다음 차트와 비슷해야 합니다.

Tomato Weights라는 제목의 비치는 밀도 히스토그램 2개: 농장 토마토는 약 90~200그램이고, 정원 토마토는 더 가벼우며 대부분 95~145그램이고, 범례가 있음

직접 해보기

import numpy as np
import matplotlib.pyplot as plt

# 아래 줄은 변경하지 마세요
rng = np.random.default_rng(23)
city = np.round(rng.normal(3.4, 0.5, size=400), 2)
rural = np.round(rng.normal(3.2, 0.45, size=60), 2)

fig, ax = plt.subplots()
ax.set_title("Birth Weights")
ax.set_xlabel("Weight (kg)")
ax.set_ylabel("Density")

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

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

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

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