我尝试了主成分分析(PCA)进行特征选择,它从九个特征集中给了我4个最佳特征(绿色均值,绿色方差,绿色标准分区,红色均值,红色方差,红色标准分区,色相均值,色相方差,色相标准分区,即[MGcorr,VarGcorr,stdGcorr,MRcorr,VarRcorr,stdRcorr,MHcorr,VarHcorr,stdHcorr ]),用于将数据分类为两个集群。从文献来看,PCA似乎不是很好的方法,而是最好应用内核PCA(KPCA)进行功能选择。我想应用 KPCA 进行功能选择,我已经尝试了以下方法:
d=4; % number of features to be selected, or d: reduced dimension
[Y2 eigVector para ]=kPCA(feature,d); % feature is 300X9 matrix with 300 as number of
% observation and 9 features
% Y: dimensionanlity-reduced data
以上kPCA.m函数可从以下网址下载:http://www.mathworks.com/matlabcentral/fileexchange/39715-kernel-pca-and-pre-image-reconstruction/content/kPCA_v1.0/code/kPCA.m
在上面的实现中,我想知道如何从 4 个特征中找到要选择的 9 个特征(即哪些顶级特征是最佳的)以进行聚类。
或者,我还尝试了以下KPCA实现功能:
options.KernelType = 'Gaussian';
options.t = 1;
options.ReducedDim = 4;
[eigvector, eigvalue] = KPCA(feature', options);
在上面的实现中,我在从 4 个特征集中确定 9 个顶级/最佳功能时也遇到了同样的问题。
以上KPCA.m功能可从以下网址下载:http://www.cad.zju.edu.cn/home/dengcai/Data/code/KPCA.m
如果有人能帮助我为我的问题实现内核 PCA,那就太好了。
谢谢
PCA 本身不提供最佳功能。 它提供的是一组不相关的新功能。 当您选择"最佳"4 个特征时,您将选择具有最大方差(最大特征值)的特征。 因此,对于"正常"PCA,您只需选择对应于 4 个最大特征值的 4 个特征向量,然后通过矩阵乘法将原始 9 个特征投影到这些特征向量上。
从您为内核 PCA 函数提供的链接中,返回值Y2
似乎是转换为内核 PCA 空间的前 d
个功能的原始数据,因此转换已经为您完成。