计算两个NumPy数组的平均绝对误差(MAE),我的实现是否正确?
验证MAE计算代码的正确性
你给出的平均绝对误差(MAE)定义为:所有对应元素绝对差值的平均值,你写的这段代码完全符合该计算逻辑,是正确的。
代码逻辑拆解
Data = nib.load(File).get_fdata() data = nib.load(file).get_fdata() mae = np.mean(np.abs(Data - data))
Data - data:对两个数组执行逐元素减法,得到每个位置的差值数组np.abs():为差值数组的每个元素取绝对值,匹配MAE公式里的绝对差要求np.mean():计算所有绝对差值的平均值,完全对应MAE的定义
注意事项
- 要确认
File和file指向两个不同的目标文件(比如真实数据和对比/预测数据),如果路径错误导致两个数组完全相同,MAE会返回0,这是业务逻辑问题,而非代码实现问题 nib.load(...).get_fdata()返回的是兼容NumPy运算的数组类型,可正常执行后续算术操作,无需额外处理
内容的提问来源于stack exchange,提问作者user20874428
相关产品推荐
相关产品推荐

