MAPE pytorch
时间: 2023-10-18 19:32:00 浏览: 88
MAPE(Mean Absolute Percentage Error)是一种衡量预测值与真实值之间误差指标,通常用于评估回归模型的性能。在PyTorch中计算MAPE可以使用以下代码实现:
```python
def masked_mape(preds, labels, null_val=np.nan):
if np.isnan(null_val):
mask = ~torch.isnan(labels)
else:
mask = (labels!=null_val)
mask = mask.float()
mask /= torch.mean((mask))
mask = torch.where(torch.isnan(mask), torch.zeros_like(mask), mask)
loss = torch.abs((preds-labels)/labels)
loss = loss * mask
loss = torch.where(torch.isnan(loss), torch.zeros_like(loss), loss)
return torch.mean(loss)
```
这个函数接受两个参数`preds`和`labels`分别表示预测值和真实值,并可选的参数`null_val`用于指定无效值的情况。函数首先根据是否存在无效值来生成掩码,然后将掩码归一化,并用掩码乘以误差计算得到一个带有掩码的误差张量,最后取平均值作为MAPE值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [几种MAPE的实现方式](https://blog.csdn.net/liangdaojun/article/details/105330007)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [【偷偷卷死小伙伴Pytorch20天-day10-高阶API示范】](https://blog.csdn.net/qaqlalala/article/details/123090417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]