Menu
CoddyTech

众数

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

T 恤尺码是标签,M 和 XL 没有平均值。类别列的中心值是它的众数,也就是最常见的值:

按尺码统计的 8 件 T 恤订单:S 2 件,M 3 件,L 2 件,XL 1 件。最高的柱形代表 M,颜色较深,并标注为众数

.mode() 可以找到它:

sizes = pd.Series(["M", "L", "M", "S", "XL", "M", "L", "S"])
print(sizes.mode()[0])

这会输出:

M

值可能并列,因此 .mode() 会返回一个包含所有并列结果的 Series,并按顺序排列。[0] 会取第一个。

众数会填补类别列中的空缺。它也是所有模型中最简单的模型:始终猜测最常见的类别。

challenge icon

挑战

简单

滑雪用品店想知道应该备哪些商品。rentals.csv记录了 30 次租赁,包含item、boot_size、level和days这些列。

  1. 按顺序处理每一列,打印列名、众数,以及有多少次租赁的该列值为众数。
  2. 然后比较days的平均值(四舍五入到小数点后 1 位)和众数。

对于一份记录了 8 次租赁的较短日志:

item: snowboard (5 of 8)
boot_size: 42 (4 of 8)
level: beginner (5 of 8)
days: 1 (4 of 8)
Days rented, mean vs mode: 2.8 vs 1

没有一次租赁持续 2.8 天:众数是一个实际出现过的值。

亲手试试

import pandas as pd

rentals = pd.read_csv("rentals.csv")

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

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

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

自己练习: Python 在线编译器