使用核主成分分析(KPCA)进行特征选择

我尝试使用主成分分析(PCA)进行特征选择,从九个特征(绿色均值、绿色方差、绿色标准差、红色均值、红色方差、红色标准差、色调均值、色调方差、色调标准差,即 [ MGcorr,VarGcorr, stdGcorr,MRcorr,VarRcorr,stdRcorr,MHcorr,VarHcorr,stdHcorr ])中选出了四个最优特征,用于将数据分类为两个簇。根据文献,PCA似乎不是很好的方法,而应用核主成分分析(KPCA)进行特征选择会更好。我想应用KPCA进行特征选择,并尝试了以下方法:

d=4; % 要选择的特征数量,或d:降维后的维度[Y2 eigVector para ]=kPCA(feature,d); % feature是300X9的矩阵,其中300是观察数量,9是特征数量                                      % Y:降维后的数据

上述kPCA.m函数可从以下链接下载:http://www.mathworks.com/matlabcentral/fileexchange/39715-kernel-pca-and-pre-image-reconstruction/content/kPCA_v1.0/code/kPCA.m

在上述实现中,我想知道如何从9个特征中找出要选择的4个特征(即哪些顶级特征是最优的)用于聚类。

此外,我还尝试了以下函数来实现KPCA:

options.KernelType = 'Gaussian';options.t = 1;options.ReducedDim = 4;[eigvector, eigvalue] = KPCA(feature', options);

在上述实现中,我也遇到了同样的问题,无法确定从9个特征中选出的4个最佳/最优特征。

上述KPCA.m函数可从以下链接下载: http://www.cad.zju.edu.cn/home/dengcai/Data/code/KPCA.m

如果有人能帮助我实现我的问题的核主成分分析,那将非常好。

谢谢


回答:

PCA本身并不提供最优特征。它提供的是一组不相关的新的特征。当你选择“最佳”的4个特征时,你选择的是方差最大的特征(最大的特征值)。因此,对于“普通”的PCA,你只需选择对应于4个最大特征值的4个特征向量,然后通过矩阵乘法将原始的9个特征投影到这些特征向量上。

从你提供的核主成分分析函数的链接来看,返回值Y2似乎是原始数据转换为核-PCA空间的前d个特征,因此转换已经为你完成。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注