总体 MAE 可能掩盖某一类业务样本上的大误差。要回答“模型对哪些组更不准”,先在看误差之前定义分组,再分别报告样本数和 MAE。下面用人为构造的两个区域作教学例子,逐行保留样本编号并核对加权汇总。
准备环境与教学数据
以下代码已在 Windows 的 Python 3.11 独立环境运行。文中数据是人为构造或库自带的教学样本,不代表任何业务系统的效果;例子不调用在线大模型。

在空目录安装依赖,把完整代码保存为 demo.py,运行 python demo.py。使用现有 Python 环境时,先核对依赖版本。
python -m pip install numpy==2.4.6 scikit-learn==1.9.1
分组必须先有业务含义
示例表有12条样本,预先标成甲区和乙区,各6条。甲区预测误差刻意较小,乙区刻意较大;这些数值不是销售、医疗或金融实测。真实任务可按产品类型、设备型号或地理区域分组,但必须说明选择依据和样本覆盖范围,避免看完误差才挑出最极端的一组。
sample_id 唯一、truth 与 prediction 均为有限数是运行前的最低检查。真实系统应按样本编号连接预测与真值,不能默认两个文件的行顺序一致。区域字段缺失时要单列核对,不应默默并入某个组。
同时看组内指标和总体构成
代码分别计算两组 MAE,输出样本数、平均绝对误差和总体 MAE。还用各组 MAE 按样本数加权还原总体结果,防止分组表漏行或重复计数。若组间误差差异大,下一步检查标签质量、目标量纲和各组输入分布,再设计独立样本复验。
同一量纲下比较 MAE 才有意义;若某组目标值本身大很多,可以补充归一化口径,但不能在文章里换一个指标就宣称差距消失。少量样本的组内 MAE 很不稳定,必须连同样本数一起报告。
完整可运行代码
import numpy as np
import pandas as pd
from sklearn.metrics import mean_absolute_error
table = pd.DataFrame({
"sample_id": [f"S{i:02d}" for i in range(12)],
"region": ["甲区"] * 6 + ["乙区"] * 6,
"truth": [10, 12, 14, 16, 18, 20, 11, 13, 15, 17, 19, 21],
"prediction": [11, 12, 13, 17, 18, 19, 16, 8, 20, 12, 24, 16],
})
assert table["sample_id"].is_unique
assert table["region"].notna().all()
assert np.isfinite(table[["truth", "prediction"]].to_numpy()).all()
overall = mean_absolute_error(table["truth"], table["prediction"])
weighted_sum = 0.0
for region, rows in table.groupby("region", sort=True):
mae = mean_absolute_error(rows["truth"], rows["prediction"])
weighted_sum += len(rows) * mae
print("region", region, "rows", len(rows),
"mae", round(float(mae), 3))
assert np.isclose(weighted_sum / len(table), overall)
print("overall_rows_mae", len(table), round(float(overall), 3))
运行结果与核对
下列是本文代码在上述环境的实际输出。更换运行环境时,先核对输入、代码和断言,再比较输出数值。
region 乙区 rows 6 mae 5.0
region 甲区 rows 6 mae 0.667
overall_rows_mae 12 2.833
核对两组均为6条、乙区 MAE 明显高于甲区,并用两组 MAE 按样本数加权还原总体 MAE。换成真实表后,先检查组字段在评估前已经定义、样本编号无重复,再追查误差较大的组。
适用边界
区域和数值都由代码人为设计,没有人群公平性、模型歧视或生产性能结论。每组只有6条,不能凭差异断言稳定;真实分析还需检查样本量、目标范围、时间和标签质量。
常见问题
每组样本数不同,可以直接平均各组 MAE 吗?
不能用不加权的组均值冒充全体样本 MAE。总体 MAE 按各组样本数加权;若业务希望每个组同等重要,可以另报宏平均,并明确它是不同口径。
参考资料
以下接口行为依据官方文档核对于 2026 年 10 月 1 日;本文的运行结果仅覆盖上述教学输入。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31763.html