How do I relate the scores fscmrmr to the feature names used in the network?

2 views (last 30 days)
I am using an audio classifier with the following features
aFE = audioFeatureExtractor("SampleRate",fs, ...
"SpectralDescriptorInput","melSpectrum", ...
"spectralCentroid",true, "spectralSlope",true,"spectralFlux",true,...
"spectralKurtosis",true,"spectralSkewness",true,"pitch",true,...
"harmonicRatio",true,"zerocrossrate",true,"shortTimeEnergy",true,...
"spectralSpread",true,"spectralRolloffPoint",true,...
"spectralCrest",true,"spectralDecrease",true,...
"spectralEntropy",true,"spectralFlatness",true,...
"mfccDeltaDelta",true,"gtcc",true,"gtccDelta",true,...
"gtccDeltaDelta",true,"mfcc",true,"mfccDelta",true);
I use these features to train the following network
% Define the Deep Neural Network
layers = [ ...
sequenceInputLayer(numFeatures)
lstmLayer(100,"OutputMode","last")
fullyConnectedLayer(numel(unique(labelsTrain)))
softmaxLayer
classificationLayer];
% Define the training options
options = trainingOptions("adam", ...
"Shuffle","every-epoch", ...
"ValidationData",{featuresValidation,labelsValidation}, ...
"Plots","training-progress", ...
'InitialLearnRate',1e-3,...
"MaxEpochs",100,...
"Verbose",true);
% Train the Network
net = trainNetwork(featuresTrain,labelsTrain,layers,options);
Here is my question... How do I use the ouput of [idx,scores] = fscmrmr(XX,YY); to assess which features are the most important? I enabled 21 features in 'aFE' but the FeatureVectorLength is 93. How do I correlate the scores and indices returned with the fscmrmr(X,Y) funnction with features I defined in aFE?

Accepted Answer

Brian Hemmat
Brian Hemmat on 19 Jan 2024
Many audio "features" are vectors. For example, the default MFCC feature has 13 elements. So if you just turned on MFCC, then you'd have a feature vector length of 13. You can get the mapping of audioFeatureExtractor output using the info method.
I think this example would answer your questions:
https://www.mathworks.com/help/audio/ug/audio-feature-selection-for-machine-learning-tasks.html

More Answers (0)

Community Treasure Hunt

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

Start Hunting!