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

11 次查看(过去 30 天)
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

采纳的回答

Kyle Rawding
Kyle Rawding 2021-3-17
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by