问题标签 [pca]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
22093 浏览

python - 如何在 PCA 中白化矩阵

我正在使用 Python,并且已经使用本教程实现了 PCA 。

一切都很好,我得到了协方差,我做了一个成功的变换,把它带到原始尺寸没有问题。

但是我该如何进行美白呢?我尝试将特征向量除以特征值:

并使用 V 来转换数据,但这会导致奇怪的数据值。有人可以对此有所了解吗?

0 投票
7 回答
64279 浏览

r - 用 ggplot2 绘制 pca 双图

我想知道是否可以用 ggplot2 绘制 pca biplot 结果。假设我想用 ggplot2 显示以下双图结果

任何帮助将不胜感激。谢谢

0 投票
0 回答
3589 浏览

pca - 使用 PCA 进行特征提取

我的工作是进行手势识别。我想通过使用通过执行 PCA(主成分分析)提取的特征来训练支持向量机来做到这一点。但是我对程序有点困惑。

在浏览了各种文章之后,我已经弄清楚了这些步骤。

  1. 获取相同手势的“d”张图像(n*n)。
  2. 将每个 n*n 图像转换为单行。
  3. 形成一个阶数为 d*(n*n) 的矩阵。
  4. 计算特征值和特征向量。
  5. 使用前“k”个特征向量形成一个子空间。
  6. 将图像从原始 n*n 维度投影到“k”维度。

问题:

1)我有一组 100 个手势,执行以上 6 个步骤会给我 100 个子空间。我的测试应该在实时视频上完成,以找出手势属于哪个类。我将每个视频帧投影到哪个 supspace 上以减少将其馈送到分类器的尺寸?

先感谢您。

0 投票
0 回答
515 浏览

pca - 在 emgucv 中执行 pca 的问题

我正在尝试在 EmguCV 中执行 PCA:

但是当noOfFeatures > noOfSamples. 它在其他情况下工作正常。这意味着如果我有 size 的图像32*32=1024=noOfFeatures,那么我将需要至少 1024 个样本,这是不切实际的。我只有大约 100 个样本。在这种情况下如何执行 PCA?

0 投票
2 回答
8876 浏览

c# - C# 中的主成分分析

几乎所有内容都在标题中:您会推荐哪个库来执行主成分分析?我正在寻找免费且易于使用的产品 - 性能不一定是标准,因为我只是想玩弄这个概念并看看我得到了什么。谷歌给了我这个:

http://crsouza.blogspot.com/2009/09/principal-component-analysis-in-c.html

有人试过这个吗?它有多好?你还有什么建议吗?

0 投票
1 回答
1069 浏览

math - 主成分分析问题

我不确定这是正确的地方,但我走了:

我有一个包含 300 张高分辨率图片的数据库。我想在这个数据库上计算 PCA,到目前为止,我所做的是: - 将每个图像重塑为单列向量 - 创建我所有数据的矩阵 (500x300) - 计算平均列并将其减去我的矩阵,这给了我 X - 计算相关 C = X' X (300x300) - 找到 C 的特征向量 V 和特征值 D。 - PCA 矩阵由 X V*D^-1/2 给出,其中每列是主成分

这很棒,给了我正确的组件。

现在我正在做的是在同一个数据库上做同样的 PCA,只是图像的分辨率较低。

在此处输入图像描述

这是我的结果,左边是低分辨率,右边是高分辨率。你能看到它们中的大多数是相似的,但有些图像不一样(我圈出的那些)

有什么办法可以解释这一点吗?我需要我的算法具有相同的图像,但一组是高分辨率的,另一组是低分辨率的,我怎样才能做到这一点?

谢谢

0 投票
1 回答
5069 浏览

opencv - OpenCV PCA 问题

我正在尝试在 OpenCV 中创建一个 PCA 模型来保存像素坐标。作为一个实验,我有两组像素坐标,它们映射出两个近似圆。每组坐标有 48 个 x,y 对。我正在尝试使用以下代码从文件中读取坐标并将它们存储在 Mat 结构中。但是,我认为这是不对的,而且 openCV 中的 PCA 在 Internet 上似乎覆盖得很少。

但是,这在创建 pca 对象时会崩溃。我知道这是一个非常基本的问题,但我有点迷茫,希望有人能让我在 open cv 中开始使用 pca。

0 投票
1 回答
7115 浏览

matlab - Matlab:如何在 matlab 中使用 PCA 查找数据集中的哪些变量可以丢弃?

由于与其他变量高度相关,我正在使用 PCA 找出我的数据集中的哪些变量是多余的。我正在对先前使用 zscore 标准化的数据使用 princomp matlab 函数:

我知道特征值告诉我数据集有多少变化覆盖了每个主成分,而系数告诉我第 i 个原始变量中有多少在第 j 个主成分中(其中 i - 行,j - 列)。

所以我假设要找出原始数据集中哪些变量是最重要的,哪些是最少的,我应该将系数矩阵乘以特征值-数值表示每个组件具有的每个变量的多少,而特征值说明该组件的重要性是。所以这是我的完整代码:

但这并没有真正显示任何东西 - 我在下面的一组中尝试了它,其中变量 1 与变量 2 完全相关(v2 = v1 + 2):

但我的计算结果如下:

这并没有真正显示出任何东西。我希望变量 2 的结果表明它远没有 v1 或 v3 重要。我的哪个假设是错误的?

0 投票
1 回答
1380 浏览

r - 比较 R 中的 svd 和 princomp

我想获得singular values of a matrix in R主要成分,然后也制作 princomp(x) 来比较结果

我知道 princomp() 会给出主要成分

问题

如何从 $d、$u 和 $v(的解 s = svd(x))中获取主成分?

0 投票
1 回答
6442 浏览

r - R 中的 pca 与 princomp() 并使用 svd()

可能重复:
比较 R 中的 svd 和 princomp

如何在 R 中使用 2 种方法(相关矩阵的 princomp() 和 svd)执行 PCA

我有一个数据集,如:

所以我这样做:

对于第二种方法,假设我有“C:\data_25_1000.txt”的相关矩阵,即:

我还计算了这个相关矩阵的 svd 并得到:

我的问题是,如何使用 $d、$u 和 $v 来获取主成分我可以使用 prcomp() 吗?如果,那怎么办?