How can I get the 3 minimum values of this plot?

1 回表示 (過去 30 日間)
Bob
Bob 2022 年 11 月 6 日
回答済み: KSSV 2022 年 11 月 7 日
How can I get the number of neurons on which I get the smallest RMSE for Training, Validation and Test set.
for i = 1:60
net = feedforwardnet(i);
net.trainParam.epochs = 300;
[net, tr] = train(net, input, output, 'useparallel', 'yes');
pnet_train = net(input(:,tr.trainInd)); % prediction
tnet_train = output(:,tr.trainInd); % target
rmse_train(i) = sqrt(mean((pnet_train - tnet_train).^2));
pnet_vali = net(input(:,tr.valInd)); % prediction
tnet_vali = output(:,tr.valInd); % target
rmse_vali(i) = sqrt(mean((pnet_vali - tnet_vali).^2));
pnet_test = net(input(:,tr.testInd)); % prediction
tnet_test = output(:,tr.testInd); % target
rmse_test(i) = sqrt(mean((pnet_test - tnet_test).^2));
end
figure;
plot(1:60,rmse_train,'LineWidth',2)
hold on;
plot(1:60,rmse_vali,'LineWidth',2)
hold on;
plot(1:60,rmse_test,'LineWidth',2)
title('Performance');
legend('Training','Validation','Test');
xlabel('Neurons');
ylabel('RMSE');
axis auto;
grid on;
  2 件のコメント
the cyclist
the cyclist 2022 年 11 月 6 日
編集済み: the cyclist 2022 年 11 月 6 日
What information do you have?
  • Only the image?
  • The figure file for the image?
  • The data that was used to create the image?
Bob
Bob 2022 年 11 月 7 日
Hi!
Thank you for responding.
I have added the code.

サインインしてコメントする。

採用された回答

KSSV
KSSV 2022 年 11 月 7 日
REad about min. You have saved rmse of train, validatioon and testing. Use the function min and get the index. I would say check it for train and pick this index.
[val,idx] = min(rmse_train) ;
[idx rmse_train(idx) rmse_vali(idx) rmse_test(idx)]

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePattern Recognition and Classification についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by