相关疑难解决方法(0)

Python中的主成分分析(PCA)

我有一个(26424 x 144)数组,我想用Python执行PCA.但是,网上没有特别的地方可以解释如何实现这个任务(有些网站只是按照自己的方式做PCA - 我没有找到这样做的通用方法).任何有任何帮助的人都会做得很好.

python pca scikit-learn

60
推荐指数
5
解决办法
12万
查看次数

sklearn.decomposition.PCA 的特征向量的简单图

我试图了解Principal Component Analysis它是如何工作的,我正在sklearn.datasets.load_iris数据集上对其进行测试。我了解每个步骤的工作原理(例如,对数据进行标准化、协方差、特征分解、对最高特征值进行排序、使用K选定维度将原始数据转换为新轴)。

下一步是可视化这些eigenvectors投影到数据集的位置(在 上PC1 vs. PC2 plot,对吗?)。

有人可以解释如何在降维数据集的 3D 图上绘制 [PC1, PC2, PC3] 特征向量吗?

另外,我是否正确绘制了这个 2D 版本?我不确定为什么我的第一个特征向量的长度较短。我应该乘以特征值吗?


以下是我为实现这一目标所做的一些研究:

我遵循的 PCA 方法来自:https : //plot.ly/ipython-notebooks/principal-component-analysis/#Shortcut---PCA-in-scikit-learn(虽然我不想使用plotly. 我想坚持pandas, numpy, sklearn, matplotlib, scipy, and seaborn)

我一直在关注这个绘制特征向量的教程,它看起来很简单:使用 matplotlib 的 PCA 的基本示例,但我似乎无法用我的数据复制结果。

我发现了这一点,但对于我想要做的事情来说似乎过于复杂,我不想创建一个FancyArrowPatch使用 matplotlib 和 np.linalg 绘制协方差矩阵的特征向量


我试图让我的代码尽可能简单,以遵循其他教程:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from …
Run Code Online (Sandbox Code Playgroud)

python machine-learning matplotlib pca scikit-learn

5
推荐指数
1
解决办法
9965
查看次数

如何使用 sklearn 或 matplotlib 从 PCA 获取 EigenFaces 的特定主成分?

背景:
我正在使用 EigenFaces 和 Python 进行研究。我需要提取多个图像的任何主成分,并使用这些选定的主成分对图像训练数据集进行特征缩减和人脸识别。

问题:
在 中sklearnPCA 函数仅允许指定n_components,这将采用第一个n主成分数。但我需要能够单独选择任何主成分,因为我需要尝试使用多个主成分的随机组合来进行特征缩减和特征面计算。这是研究要求的一部分。

我注意到这里这里有一些定制的实现,但我更喜欢一个更标准的库,以避免结果中的错误。还注意到另一个 PCA 库似乎不提供低级函数来获取我需要的更多细节。

有没有可靠的方法可以使用Python获取各个主成分?

python pca scikit-learn

0
推荐指数
1
解决办法
423
查看次数

标签 统计

pca ×3

python ×3

scikit-learn ×3

machine-learning ×1

matplotlib ×1