분산과 표준편차
Coddy Machine Learning 여정의 머신러닝을 위한 통계 섹션에 포함된 레슨. 64개 중 3번째.
.std()는 평균으로부터의 일반적인 거리입니다. 여기서는 에스프레소 샷 5개에 대해 직접 계산합니다:
평균과의 각 차이를 편차라고 합니다. 편차는 합하면 0이 되므로, 제곱한 다음 평균을 구합니다. 이것이 분산입니다.
shots = np.array([24, 27, 25, 30, 24])
deviations = shots - shots.mean()
variance = (deviations ** 2).mean()
print(deviations)
print(variance, np.round(np.sqrt(variance), 2))다음과 같이 출력됩니다:
[-2. 1. -1. 4. -2.]
5.2 2.28그 제곱근인 표준 편차를 구하면 제곱초가 다시 초로 바뀝니다: 2.28. np.var(a)와 np.std(a)는 각각 한 번의 호출로 계산합니다.
표준 편차가 0인 특성은 절대 변하지 않으므로 모델에 아무런 정보도 제공하지 않습니다.
챌린지
쉬움품질 관리는 기계가 주스 병을 얼마나 균일하게 채우는지 확인합니다. 시작 코드는 부피를 ml 단위로 여섯 개 입력받고, spread_by_hand(a)가 반환하는 값을 np.std와 나란히 출력합니다. 이 함수가 다음 값을 반환하도록 완성하세요.
- 분산:
a의 평균에서 각 값의 편차를 제곱한 값들의 평균, - 표준 편차: 분산의 제곱근.
부피가 1004, 996, 1011, 993, 1002, 998인 경우:
Variance: 34.56 ml squared
Std: 5.88 ml
Same as np.std: True직접 해보기
import numpy as np
values = []
for i in range(6):
values.append(int(input()))
volumes = np.array(values)
# 배열 a의 분산과 표준편차를 반환합니다
def spread_by_hand(a):
# 여기에 코드를 작성한 다음, 0, 0 대신 두 값을 반환하세요
return 0, 0
# 아래 줄은 변경하지 마세요
variance, std = spread_by_hand(volumes)
print(f"Variance: {np.round(variance, 2)} ml squared")
print(f"Std: {np.round(std, 2)} ml")
print("Same as np.std:", np.round(std, 2) == np.round(np.std(volumes), 2))
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
머신러닝을 위한 통계의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러