Menu
CoddyTech

Średnie z prób się różnią

Część sekcji Statystyka w uczeniu maszynowym ścieżki Machine Learning w Coddy. Lekcja 20 z 64.

Jedna próba 30 paczek daje jedno oszacowanie ich średniej wagi. Wylosuj ponownie, a otrzymasz kolejne. Oto 40 prób:

40 kropek, po jednej na każdą próbę 30 paczek, rozrzuconych między około 7.2 a 8.8 kg wokół przerywanej linii oznaczającej prawdziwą średnią wagę wszystkich paczek, 8.05 kg

Aby je zebrać, powtarzaj próbkowanie w pętli, dodawaj każdą średnią do listy, a następnie przekształć listę w tablicę:

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))

To wyświetla:

[7.98 8.05 8.12 8.19 8.76]

Średnia z próby sama jest zmienną losową, a means.std() mierzy, jak bardzo się zmienia. Wynik testu modelu jest taką średnią: inny zestaw testowy spowodowałby jego zmianę.

challenge icon

Wyzwanie

Średni

Ogrodnik co tydzień mierzy losową próbę spośród 1800 bambusów w szkółce. O ile może się zmienić średnia z próby między tygodniami?

Uzupełnij sample_means(data, size, count): wylosuj count prób po size wartości z data, bez powtarzania wartości w jednej próbie, i dodaj średnią z każdej próby. Ostatnie wiersze kodu początkowego wywołują tę funkcję i wyświetlają raport.

Dla innej szkółki i prób o rozmiarze 10:

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

Spróbuj swoich sił

import numpy as np

size = int(input())

# Nie zmieniaj poniższych wierszy: wysokość każdej rośliny bambusa w cm
rng = np.random.default_rng(20)
heights = np.round(rng.normal(95, 15, size=1800), 1)


def sample_means(data, size, count):
    means = []
    # Napisz poniżej swój kod: pobierz count próbek po size wartości i zachowaj średnią każdej z nich

    return np.array(means)


# Nie zmieniaj poniższych wierszy
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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Statystyka w uczeniu maszynowym

Poćwicz samodzielnie: Kompilator Python online