Menu
CoddyTech

Rata-rata Sampel Bervariasi

Termasuk bagian Statistik untuk ML dalam perjalanan Machine Learning di Coddy. Pelajaran 20 dari 64.

Satu sampel berisi 30 paket memberikan satu perkiraan berat rata-ratanya. Ambil sampel lagi dan kamu akan mendapat perkiraan lain. Berikut 40 sampel:

40 titik, satu untuk setiap sampel yang terdiri dari 30 paket, tersebar antara sekitar 7.2 dan 8.8 kg di sekitar garis putus-putus pada rata-rata sebenarnya semua paket, 8.05 kg

Untuk mengumpulkannya, ulangi pengambilan sampel dalam perulangan, tambahkan setiap rata-rata ke list, lalu ubah list menjadi array:

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

Ini mencetak:

[7.98 8.05 8.12 8.19 8.76]

Rata-rata sampel itu sendiri bersifat acak, dan means.std() mengukur seberapa besar perubahannya. Skor tes suatu model adalah salah satu rata-rata seperti itu: kumpulan tes lain akan menggesernya.

challenge icon

Tantangan

Sedang

Seorang tukang kebun mengukur sampel acak dari 1800 tanaman bambu di sebuah tempat pembibitan setiap minggu. Seberapa besar rata-rata sampel dapat berubah dari satu minggu ke minggu berikutnya?

Lengkapi sample_means(data, size, count): ambil count sampel yang masing-masing berisi size nilai dari data, tanpa mengambil nilai yang sama dua kali dalam satu sampel, lalu tambahkan rata-rata setiap sampel. Baris terakhir kode awal memanggil fungsi ini dan mencetak laporannya.

Untuk tempat pembibitan lain dan sampel berukuran 10:

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

Coba sendiri

import numpy as np

size = int(input())

# Jangan ubah baris di bawah ini: tinggi setiap tanaman bambu dalam cm
rng = np.random.default_rng(20)
heights = np.round(rng.normal(95, 15, size=1800), 1)


def sample_means(data, size, count):
    means = []
    # Tulis kodemu di bawah ini: ambil count sampel, masing-masing berisi size nilai, lalu simpan setiap rata-ratanya

    return np.array(means)


# Jangan ubah baris di bawah ini
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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Statistik untuk ML

Latihan sendiri: Compiler Python online