정규 곡선
Coddy Machine Learning 여정의 머신러닝을 위한 통계 섹션에 포함된 레슨. 64개 중 9번째.
키, 시험 점수, 쌀 포대 무게 등 많은 측정값은 정규 분포, 즉 종 모양 곡선을 따릅니다. 한 기계에서 나온 포대 500개:
두 개의 숫자로 그릴 수 있습니다. 평균은 꼭짓점을 정하고, 표준 편차는 너비를 정합니다. 과학 계산 라이브러리인 SciPy는 공식을 알고 있습니다:
from scipy import stats
ax.hist(bags, bins=16, density=True)
xs = np.linspace(bags.min(), bags.max(), 100)
ax.plot(xs, stats.norm.pdf(xs, bags.mean(), bags.std()))stats.norm.pdf(x, mean, std)는 x에서의 곡선 높이이며, x는 단일 값이거나 배열입니다. 곡선 아래 면적은 밀도 히스토그램과 마찬가지로 1이므로 둘 다 하나의 차트에 표시할 수 있습니다.
일부 모델은 대략 정규 분포를 따르는 특성을 선호합니다. 이 차트는 이를 확인합니다.
챌린지
쉬움볼트의 길이는 50 mm여야 합니다. 시작 코드는 측정한 길이 240개를 lengths에 저장하고 차트를 설정합니다. 정규 곡선과 비교해 보세요:
- 아래와 같이 평균과 표준편차(
np.std)를 소수점 이하 2자리까지 반올림하여 출력합니다. bins=15로 밀도 히스토그램을 그립니다.- 그 위에 적합한 곡선을 그립니다. 가장 짧은 볼트부터 가장 긴 볼트까지 100개의 점을 사용합니다.
- 차트를 표시합니다.
다른 배치의 경우:
Fitted curve: mean 49.99 mm, std 0.42 mm그리고 차트:
직접 해보기
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
# 아래 줄은 변경하지 마세요
rng = np.random.default_rng(31)
lengths = np.round(rng.normal(50, 0.4, size=240), 2)
fig, ax = plt.subplots()
ax.set_title("Bolt Lengths")
ax.set_xlabel("Length (mm)")
ax.set_ylabel("Density")
# 아래에 코드를 작성하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
머신러닝을 위한 통계의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러