使用核主成分分析(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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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