Menu
CoddyTech

Генеральная совокупность и выборка

Часть раздела Статистика для машинного обучения путешествия по Machine Learning на Coddy. Урок 19 из 64.

Взвешивание яблок с 300 деревьев занимает несколько дней; взвешивание яблок с 20 деревьев — час. Все деревья составляют популяцию, а 20 деревьев — выборку:

Фруктовый сад из 300 яблонь, изображённых в виде сетки из светлых ячеек; 20 случайно разбросанных ячеек затемнены: выборка

rng.choice выбирает выборку. replace=False выбирает каждое дерево не более одного раза, как имена из шляпы:

rng = np.random.default_rng(4)
trees = np.round(rng.normal(40, 8, size=300), 1)  # кг яблок
sample = rng.choice(trees, size=20, replace=False)
print(np.round(trees.mean(), 2))
print(np.round(sample.mean(), 2))

Это выводит:

40.82
38.49

Выборочное среднее оценивает среднее генеральной совокупности: близко, но не равно. Каждый набор данных ML — это выборка, и эта глава завершается опросом целого города.

challenge icon

Задание

Средне

Овцеводческое хозяйство хочет узнать средний вес руна у своих 3000 овец, не взвешивая их всех. В этой симуляции в fleeces хранится вес руна каждой овцы в граммах, а программа считывает размер выборки.

  1. С помощью rng.choice выбери выборку из указанного количества разных овец.
  2. Выведи её среднее значение, среднее значение для всех овец и разницу между ними (выборка минус все овцы), округлив до 2 знаков после запятой.

Для другой фермы и 30:

Sample of 30 sheep: 4371.33 g
All 3000 sheep: 4311.47 g
Off by: 59.86 g

Попробуйте сами

import numpy as np

size = int(input())

# Не изменяйте строки ниже: вес руна каждой овцы на ферме в граммах
rng = np.random.default_rng(19)
fleeces = np.round(rng.normal(4500, 800, size=3000))

# Напишите свой код ниже
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Статистика для машинного обучения

Потренируйтесь самостоятельно: Онлайн-компилятор Python