【问题标题】:PCA decomposition with python: features relevances使用 python 进行 PCA 分解:特征相关性
【发布时间】:2014-04-16 10:03:35
【问题描述】:

我现在关注下一个话题:How can I use PCA/SVD in Python for feature selection AND identification? 现在,我们使用 PCA 方法在 Python 中分解我们的数据集,并为此使用 sklearn.decomposition.PCA 使用属性 components_ 我们得到所有组件。现在我们有非常相似的目标:只想取前几个组件(这部分不是问题),看看每个 PCA 组件的输入特征比例是什么(知道哪些特征对我们很重要)。怎么可能做到呢? 另一个问题是,python 库是否有另一个主成分分析的实现?

【问题讨论】:

    标签: python scikit-learn pca


    【解决方案1】:

    输入特征比例具有每个 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。详情请查看soure code of the scikit-learn implementation of PCA

    【讨论】:

    • 非常感谢,你帮了我很多。
    猜你喜欢
    • 2022-07-05
    • 2022-07-06
    • 1970-01-01
    • 2019-08-22
    • 2014-02-05
    • 2021-04-06
    • 2013-01-09
    • 2017-04-09
    • 2011-10-02
    相关资源
    最近更新 更多