Menu
CoddyTech

표본 평균은 달라진다

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

소포 30개의 표본 하나로 평균 무게를 하나 추정할 수 있습니다. 다시 표본을 뽑으면 또 다른 추정값을 얻습니다. 여기 40개의 표본이 있습니다:

소포 30개 표본당 점 하나씩, 모든 소포의 실제 평균인 8.05 kg의 점선 주위 약 7.2~8.8 kg 사이에 흩어져 있는 점 40개

이들을 수집하려면 반복문에서 표본 추출을 반복하고, 각 평균을 목록에 추가한 다음 목록을 배열로 만드세요.

means = []
for i in range(5):
    sample = rng.choice(parcels, size=30, replace=False)
    means.append(sample.mean())
means = np.array(means)
print(np.round(means, 2))

다음이 출력됩니다:

[7.98 8.05 8.12 8.19 8.76]

표본 평균 자체는 확률 변수이며, means.std()는 표본 평균이 얼마나 변동하는지 측정합니다. 모델의 테스트 점수는 이러한 평균의 한 예입니다. 다른 테스트 세트를 사용하면 점수가 달라질 수 있습니다.

challenge icon

챌린지

중급

정원사는 매주 묘목장의 대나무 1800그루 중 무작위 표본을 측정합니다. 표본 평균은 주마다 얼마나 크게 달라질 수 있을까요?

sample_means(data, size, count)를 완성하세요. data에서 size개의 값을 뽑아 count개의 표본을 만드세요. 각 표본에는 같은 값이 두 번 들어가지 않게 하고, 각 표본의 평균을 추가하세요. 시작 코드의 마지막 줄에서는 이 함수를 호출하고 보고서를 출력합니다.

다른 묘목장에서 표본 크기가 10인 경우:

200 means of 10 plants: 105.25 to 137.13 cm
Spread of the means (std): 5.27 cm

직접 해보기

import numpy as np

size = int(input())

# 아래 줄은 변경하지 마세요: 각 대나무의 높이(cm)
rng = np.random.default_rng(20)
heights = np.round(rng.normal(95, 15, size=1800), 1)


def sample_means(data, size, count):
    means = []
    # 아래에 코드를 작성하세요: size개의 값으로 이루어진 표본을 count개 추출하고, 각 평균을 저장하세요

    return np.array(means)


# 아래 줄은 변경하지 마세요
means = sample_means(heights, size, 200)
print(f"200 means of {size} plants: {np.round(means.min(), 2)} to {np.round(means.max(), 2)} cm")
print(f"Spread of the means (std): {np.round(means.std(), 2)} cm")
quiz icon실력 점검

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

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

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