В настоящее время я работаю над проектом, в котором мне нужно решить проблему, основанную на регрессии. Мне в основном приходится пробовать разные модели и сравнивать точность каждой из них. До сих пор я пробовал деревья решений, случайные леса и бэггинг. Сейчас я пробую 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 Я использую метод продержки оценки.