gpt4 book ai didi

python-3.x - 在PCA中选择K-分量后,我们如何找出算法选择了哪些分量(列名)?

转载 作者:行者123 更新时间:2023-12-02 19:59:02 24 4
gpt4 key购买 nike

我是数据科学新手,我需要一些帮助来理解 PCA。我知道每一列都构成一个轴,但是当 PCA 完成并且组件减少到某个 k 值时,如何知道所有列都被选择了?

最佳答案

在 PCA 中,您计算​​协方差矩阵的特征向量和特征值来识别主成分。
主成分是被构造为初始变量的线性组合或混合的新变量。这些组合的完成方式使得新变量(即主成分)不相关,并且初始变量中的大部分信息被挤压或压缩到第一个成分中。因此,10 维数据的想法是给您 10 个主成分,但 PCA 尝试将最大可能的信息放入第一个成分,然后将最大剩余信息放入第二个成分,依此类推。

从几何角度来说,主成分代表了解释最大方差的数据方向,即捕获数据大部分信息的线。由于数据中有多少个主成分,就有多少个主成分,因此构造主成分的方式是第一个主成分占数据集中最大可能的方差。

根据我的经验,如果特征值累积和的百分比超过80%或90%,变换后的向量就足以代表旧向量。

为了清楚地解释,让我们使用 @Nicholas M 的代码。

import numpy as np
from sklearn.decomposition import PCA
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
pca = PCA(n_components=1)
pca.fit(X)

您必须增加 n_components 才能获得 %90 方差。

输入:

pca.explained_variance_ratio_

输出:

array([0.99244289])

在此示例中,只需 1 个组件就足够了。

我希望大家都能清楚地理解。

资源:
https://towardsdatascience.com/pca-using-python-scikit-learn-e653f8989e60 https://towardsdatascience.com/a-step-by-step-explanation-of-principal-component-analysis-b836fb9c97e2

关于python-3.x - 在PCA中选择K-分量后,我们如何找出算法选择了哪些分量(列名)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56317085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com