我的数据由16个通道x128个样本x400个试验组成。我想在此数据集中执行详尽的渠道选择。我应该在哪里申请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
最佳答案
PCA或任何降维技术应与将要分析的数据一起使用。如果我们要评估与较少通道(例如1:4)相对应的子集的性能,则应在此数据中应用任何降维技术(PCA(data([1:4),:,:)。因此,选项2是正确的选项。
关于machine-learning - 穷举 channel /功能选择中的降维,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33113450/