我们可以使用 pca 进行监督分类吗?

数据挖掘 分类 特征选择 特征提取 主成分分析
2022-02-19 22:13:11

我的问题是:

  1. 我们可以使用“pca 特征选择”进行监督分类吗?当我们使用降维时,标签会发生什么?
  2. 如果我理解正确,当我们使用 pca 进行特征提取之后,我们有旧特征但在新维度中,那么我们可以说这些是新特征还是混合特征?
  3. “特征提取”与 pca 中的“特征选择”不同吗?我的意思是它们是用不同的方式做的两件事。
  4. 如何使用 pca 选择有效的特征?互联网上有很多参考资料,但我找不到任何关于 pca 特征选择的 MATLAB 示例代码或视频(在 youtube 上),我的意思是理论上不是,我正在寻找任何语言的示例代码(Paython,Matlab ,ETC)。
1个回答

XRn×m成为您的数据和Z=XTRn×k是 PCA 转换的数据。

我们可以使用“pca 特征选择”进行监督分类吗?当我们使用降维时,标签会发生什么?

是的。它通常用于特征选择和线性降维。标签没有任何反应。一开始你有训练对(xi,yi), 在 PCA 之后你有(zi,yi)反而。

如果我理解正确,当我们使用 pca 进行特征提取之后,我们有旧特征但在新维度中,那么我们可以说这些是新特征还是混合特征?

您有功能,这些新功能只是旧功能的线性组合。另一种查看方式是,您在数据空间中选择了一组新的(正交)轴(可能会丢弃其中的一些),然后将数据投影到这个新的子空间上。所以Z是(字面上)来自的特征的混合X.

“特征提取”与 pca 中的“特征选择”不同吗?我的意思是它们是用不同的方式做的两件事。

它可以是两者或其中之一。对我来说,特征提取意味着从原始数据中获取潜在描述符。因此,如果 PCA 在原始数据上运行,那么它就是在进行特征提取。否则,它不是。至于特征选择,我想说,每当您删除任何主成分(即执行线性降维)时,您就是在进行特征选择,因为您选择了一些特征而不是其他特征。

如何使用 pca 选择有效的特征?互联网上有很多参考资料,但我找不到任何关于 pca 特征选择的 MATLAB 示例代码或视频(在 youtube 上),我的意思是理论上不是,我正在寻找任何语言的示例代码(Paython,Matlab ,ETC)。

人们倾向于(a)根据归一化奇异值选择一个固定的方差来解释(例如,解释了原始方差的 90%)或(b)处理所选特征的数量(k) 作为超参数,并使用它在验证集上进行交叉验证。关于解释方差及其与重构误差的联系的一些讨论在这里这里

至于实用的代码示例,scikit-learn 库有一些简单的示例:

from sklearn import decomposition, datasets

k = 3
iris = datasets.load_iris()
X = iris.data
Y = iris.target
pca = decomposition.PCA(n_components=k)
pca.fit(X)
Z = pca.transform(X)