Низкое R2, но высокое MAPE - PullRequest
0 голосов
/ 30 мая 2020

В настоящее время я работаю над проектом, в котором мне нужно решить проблему, основанную на регрессии. Мне в основном приходится пробовать разные модели и сравнивать точность каждой из них. До сих пор я пробовал деревья решений, случайные леса и бэггинг. Сейчас я пробую ANN. Метрики, которые я использую для оценки производительности модели, - это оценка R2, RMSE и MAPE. Для первых трех моделей я получаю следующие результаты:
Дерево решений:
R2: 0,608
RMSE: 11,640681667132872
MAPE: 78,73%

Упаковка:
R2: 0,752
RMSE: 9,193
MAPE: 78,46%

Случайный лес:
R2: 0,726
RMSE: 9,731
MAPE: 78,27%

Однако с ИНС результаты, которые я получаю, действительно сбивают с толку.
R2: 0,264
RMSE: 12,034
MAPE: 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


PS Я использую метод продержки оценки.

...