What work space values do i need to save separately to test Classification

Illustration
damian_king - 2021-07-19T12:02:21+00:00
Question: What work space values do i need to save separately to test Classification

What work space values do i need to save separately to test Classification of a number of voice emotion recognition neural networks and compare a new input against several to give a result?     TrainingHappyInput = NNHappyTrainingInput; TragetHappy= ones(1,1536); % set to Happy = 2 TragetHappy=TragetHappy*2; net = newff([min(TrainingHappyInput) max(TrainingHappyInput)],[14 1],{'tansig' 'purelin'},'traingd'); net.trainParam.epochs = 2900; %Maximum number of epochs to train net.trainParam.goal = 0.01; %Performance goal net.trainParam.lr = 0.01; %Learning rate net.trainParam.min_grad=1e-10; %Minimum performance gradient net.trainParam.show = 25; %Epochs between displays net.trainParam.time = inf; %Maximum time to train in seconds HappyTestset=TrainingHappyInput(400:700); NetOutputHappyTestData = sim(net,HappyTestset); subplot(2,1,1), plot(TrainingHappyInput(400:700),TragetHappy(400:700),HappyTestset,NetOutputHappyTestData,'o') title('Accuracy of classification'); HappyDiffTraining = TragetHappy (400:700)- NetOutputHappyTestData; subplot(2,1,2), plot(HappyDiffTraining); title('Difference Between Trained/Targets'); HappyClassifiedTrained = mean(NetOutputHappyTestData); if HappyClassifiedTrained > 1.8078 disp('Emotion detected is HAPPY...!'); else disp('Not Classified as Happy'); end This is the code I currently have for a Happy emotion and will have a similar network for sad etc. Having never studied Matlab or signal processing to finish this project I need to test a voice sample against the neural networks and output which emotion has been detected. Happy is Target is set to 2 as in the code, sad will be 3, neutral 1 etc. I don't know what variables i need to collect from each workspace and how to compare a test sample to all the networks and have a decision produced. I think it will be similar to the if statement at the end of the code above but can't work what I need to do.

Expert Answer

Profile picture of Prashant Kumar Prashant Kumar answered . 2025-11-20

When you're testing a classification model in MATLAB, you should save the following workspace values separately to ensure you have all the necessary components:

1. Trained Model: Save the trained classification model object.
   
   save('trainedModel.mat', 'trainedModel');
   
2. Test Data: Save the test features and test labels.
   
   save('testData.mat', 'X_test', 'Y_test');
   
3.Preprocessing Parameters: If you performed any preprocessing (e.g., normalization), save the parameters used for preprocessing.
   
   save('preprocessingParams.mat', 'mean_X', 'std_X');
   
4. Feature Selection: If you used feature selection, save the indices of the selected features.
   
   save('selectedFeatures.mat', 'selectedFeatureIndices');
   
5. Performance Metrics: Optionally, save any performance metrics you calculated.
   
   save('performanceMetrics.mat', 'accuracy', 'precision', 'recall');
   

By saving these key elements, you ensure that you can recreate the testing environment and validate the performance of your classification model.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!