Menu
CoddyTech

总体与样本

本课属于 Coddy Machine Learning 学习旅程的“机器学习统计学”单元。第 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)  # 苹果的重量,单位为 kg
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 在线编译器