gpt4 book ai didi

python - 使用 scikit-learn PCA 找到具有最高方差的维度

转载 作者:IT老高 更新时间:2023-10-28 20:41:37 27 4
gpt4 key购买 nike

我需要使用 pca 来识别某组数据中方差最大的维度。我正在使用 scikit-learn 的 pca 来执行此操作,但我无法从 pca 方法的输出中确定我的数据中方差最大的组件是什么。请记住,我不想消除这些维度,只是识别它们。

我的数据被组织成一个包含 150 行数据的矩阵,每行有 4 个维度。我的做法如下:

pca = sklearn.decomposition.PCA()
pca.fit(data_matrix)

当我打印 pca.explained_variance_ratio_ 时,它会输出从最高到最低排序的方差比数组,但它没有告诉我它们对应的数据中的哪个维度(我试过改变矩阵上列的顺序,得到的方差比数组是相同的)。

打印 pca.components_ 给了我一个 4x4 矩阵(我将组件的原始数量作为参数留给 pca),其中一些值我无法理解...根据 scikit 的文档的含义,它们应该是具有最大方差的分量(也许是特征向量?),但没有迹象表明这些值指的是哪个维度。

转换数据也无济于事,因为维度发生了变化,我真的不知道它们最初是哪一个。

有什么方法可以通过 scikit 的 pca 获取这些信息?谢谢

最佳答案

返回的 pca.explained_variance_ratio_ 是主成分的方差。您可以使用它们来查找您的数据可以通过 pca 更好地转换的维度(组件)。您可以为此使用阈值(例如,您可以计算有多少方差大于 0.5 等)。之后,您可以通过 PCA 使用等于高于所用阈值的主成分的维数(分量)来转换数据。缩减到这些维度的数据与原始数据中的维度数据不同。

您可以从此链接查看代码:

http://scikit-learn.org/dev/tutorial/statistical_inference/unsupervised_learning.html#principal-component-analysis-pca

关于python - 使用 scikit-learn PCA 找到具有最高方差的维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15369006/

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