Menu
CoddyTech

百分位数与四分位数

本课属于 Coddy Machine Learning 学习旅程的“机器学习统计学”单元。第 2 课,共 64 课。

百分位数将排序后的数据分段:第 25 百分位数位于从头数起四分之一处,第 50 百分位数是中位数。9 次密室逃脱用时:

9 次密室逃脱用时以点的形式标在数轴上,范围为 38 到 95 秒。线段标出了 Q1 为 45、Q2 为 52、Q3 为 61,阴影框从 Q1 延伸到 Q3,标注为中间一半,IQR 为 16

将数据分成四等份的分界点是四分位数 Q1、Q2 和 Q3。np.percentile(a, q)中的 q 取值范围是 0 到 100,也可以是一个列表:

times = np.array([52, 38, 61, 45, 70, 41, 95, 58, 49])
print(np.percentile(times, [25, 50, 75]))

这会输出:

[45. 52. 61.]

中间一半的范围从 Q1 到 Q3;它的宽度是四分位距,Q3 - Q1:16 秒。

将最慢的时间设为 950:IQR 仍为 16。当某个特征存在极端值时,可以相信它。

challenge icon

挑战

简单

一位顾客想知道自己的用水量和所在街道 20 户人家相比如何。use 存储各户的用水升数,程序会读取这位顾客的用水量。请输出:

  1. use 的四分位数:Q1、中位数、Q3。
  2. IQR。
  3. 顾客所在的四分位:低于 Q1 时为 1,低于中位数时为 2,低于 Q3 时为 3,其他情况为 4。

对于有 12 户人家的街道,输入 172 时:

Quartiles: 157.5, 170.5, 183.5 liters
IQR: 26.0 liters
This home is in quarter 3

亲手试试

import numpy as np

# 昨天每户家庭的用水量,单位为升
use = np.array([312, 285, 410, 198, 356, 274, 520, 301, 289, 345,
                262, 398, 230, 610, 327, 295, 368, 251, 334, 280])
liters = int(input())

# 在下面编写你的代码
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

机器学习统计学中的所有课

自己练习: Python 在线编译器