使用 python 进行 PCA 分解:具有相关性



我现在关注下一个主题:如何在 Python 中使用 PCA/SVD 进行特征选择和识别? 现在,我们使用 PCA 方法在 Python 中分解我们的数据集,并为此使用sklearn.decomposition.PCA通过使用属性components_我们得到所有组件。现在我们有非常相似的目标:只想取前几个分量(这部分不是问题),看看每个 PCA 分量的输入特征比例是多少(要知道,哪些特征对我们来说非常重要)。怎么可能呢? 另一个问题是,python lybrary是主成分分析的另一个实现吗?

输入特征比例具有每个PCA分量(要知道哪些特征对我们来说非常重要)。怎么可能呢?

components_数组具有形状(n_components, n_features)因此components_[i, j]已经为您提供了特征j对组件i的贡献的(有符号)权重。

如果要获取对组件i贡献的前 3 个特征的索引,而不考虑符号,您可以执行以下操作:

numpy.abs(pca.component_[i]).argsort()[::-1][:3]

注意:[::-1]表示法可以颠倒数组的顺序:

>>> import numpy as np
>>> np.array([1, 2, 3])[::-1]
array([3, 2, 1])
另一个

问题是,python库有另一个实现吗? 主成分分析?

PCA 只是中心数据集的截断奇异值分解。如果您愿意,可以直接使用numpy.linalg.svd。有关详细信息,请查看PCA的scikit-learn实现的源代码。

相关内容

  • 没有找到相关文章

最新更新