How to calculate MAPE, MAE and SD for LRN neural networl

2 views (last 30 days)
Dear all,
I am currently using LRN neural network for the prediction and needs to calculate performance indices like MAPE, MAE and SD. As mentioned below, i am trying to calculate from the given formula but i am getting the value in double which is undesirable as the value need to be in an integer form although i am getting the value of other performnance indices like MSE and RMSE in integrer form. Please assist in this regard
lrn_net = layrecnet(1,10);
lrn_net.trainFcn = 'trainlm';
lrn_net.trainParam.show = 5;
lrn_net.trainParam.epochs = 500;
lrn_net = train(lrn_net,data_train,target_train);
y = lrn_net(data_test);
performance = perform(lrn_net,target_test, y)
RMSE = sqrt(performance)
MSE = mse(lrn_net,target_test, y)
MAPE=(sum(abs((y-target_test)./(y)))./length(target_test))*100
MAE=(sum(abs(y-target_test))./length(target_test))*100
SD=(std(y-target_test))*100

Accepted Answer

Kyle Rawding
Kyle Rawding on 17 Mar 2021
Hi Shaheer -
To convert from double to int, you could use the uint8 or int8 functions, or another from that family of functions.
For example,
MAPE=uint8((sum(abs((y-target_test)./(y)))./length(target_test))*100);
Hope that helps,
Kyle
  1 Comment
Shaheer Ansari
Shaheer Ansari on 20 Mar 2021
Thank you for your assistance in this regard. It'll be helpful to me in your research work

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!