1

My data consist of 16channelsx128samplesx400trials. I wanna perform exhaustive channel selection in this dataset. Where should I apply PCA?

unsortedChannelIndices = [1:16]
sortedChannelIndices = [];

%Option 1
reducedData = PCA(data, classIndeces)

for chIdx = 1:length(unsortedChannelIndices)

   for c=1:length(unsortedChannelIndices)
      thisChannel = unsortedChannelIndices(c)
      thisChannelSet = [sortedChannelIndices, thisChannel];

      %Option 1
      thisData = reducedData(thisChannelSet,:,:);

      %Option 2
      thisData = PCA(data(thisChannelSet, classIndeces)

      thisPerformance(c) = eval_perf(thisData);%crossvalidation
    end
    [performance(chIdx),best] = max(thisPerformance);
    sortedChannelIndices = [sortedChannelIndices,unsortedChannelIndices(best)];
    unsortedChannelIndices(best) =  [];
end
4

1 回答 1

0

The PCA or any dimensionality reduction technique should be applied with the data that will be analyzed. If we wana evaluate the performance of the subset corresponding to less channels (eg 1:4), any dimensionality reduction technique should be applied in this data (PCA(data([1:4),:,:). Hence, Option 2 is the correct option.

于 2015-10-15T02:27:22.830 回答