R2低但MAPE高

问题描述 投票:0回答:1

我目前正在一个项目中,我必须解决基于回归的问题。我基本上必须尝试不同的模型并比较每个模型的准确性。到目前为止,我已经尝试过决策树,随机森林和装袋。目前,我正在尝试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

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

machine-learning keras scikit-learn neural-network
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.