R2低但MAPE高

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R2低但MAPE高相关的知识,希望对你有一定的参考价值。

我目前正在一个项目中,我必须解决基于回归的问题。我基本上必须尝试不同的模型并比较每个模型的准确性。到目前为止,我已经尝试过决策树,随机森林和装袋。目前,我正在尝试ANN。我用来评估模型性能的指标是R2得分,RMSE和MAPE。对于前三个模型,我得到的结果是:决策树:R2:0.608RMSE:11.640681667132872不良率:78.73%套袋:R2:0.752RMSE:9.193平均:78.46%随机森林:R2:0.726RMSE:9.731平均:78.27%但是,使用ANN,我得到的结果确实令人困惑。R2:0.264RMSE:12.034MAPE:88.73%

您可以看到,尽管R2得分与其他模型相比非常低,但是MAPE的准确性却出奇的高。谁能给我一些为什么会这样的见解?

我用于计算MAPE准确性的代码是:

#Function to calculate MAPE accuracy
def evaluate(model, test_features, test_labels):
    predictions = model.predict(test_features)
    errors = abs(predictions - test_labels)
    mape = 100 * np.mean(errors / test_labels)
    accuracy = 100 - mape
    print('Model Performance')
    print('Average Error: :0.4f degrees.'.format(np.mean(errors)))
    print('Accuracy = :0.2f%.'.format(accuracy))

    return accuracy

附言我正在使用评估的保留方法。

答案

也请查阅本白皮书,它很好地概述了错误指标及其优缺点:https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0174202

以上是关于R2低但MAPE高的主要内容,如果未能解决你的问题,请参考以下文章

为啥我得到高 MAE(平均绝对误差)和 MSE(均方误差)与 MAPE(平均绝对百分比误差)相比?

Linux服务器CPU使用率较低但负载较高

回归模型和时间序列模型中的MAPE指标是什么?MAPE指标解读MAPE越大越好还是越小越好使用MAPE指标的注意事项

python使用numpy包编写自定义函数计算MAPE(平均绝对百分比误差)指标mean absolute percentage error (MAPE)MAPE指标解读MAPE指标使用的注意事项

MAPE怎么计算

python中的MAPE计算