问题标签 [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 投票
2 回答
16352 浏览

r - 在使用 R 进行 PCA 分析之前省略 NA 和数据插补

我正在尝试使用princompR 中的函数进行 PCA 分析。

以下是示例代码:

我试图NA从数据集中删除 ,但它不起作用。

即使我可以删除NA's,它也可能无济于事,因为每一行或每一列都至少有一个缺失值。是否有任何 R 方法可以估算数据进行 PCA 分析?


更新:根据答案:

这有效,但默认值na.action不起作用。

是否有任何方法可以估算数据,因为在实际数据中,我几乎每列都缺少值?这种NA遗漏的结果会给我〜0行或列。

0 投票
1 回答
3449 浏览

matlab - princomp 中的分数是多少

我有一个包含功能的 CSV 文件。行代表对象,列代表特征。我像这样阅读CSV文件

现在我做了一个

我在 O 上进行 princomp 的目标是执行降维,因为特征数量太大。现在在此操作之后,SCORE 向量是否保留了降维特征集,还是我必须执行更多操作才能获得它?

0 投票
2 回答
6003 浏览

python - PCA 计算中的复特征值

我正在尝试计算矩阵的 PCA。

有时,得到的特征值/向量是复值,因此当尝试通过将特征向量矩阵与点坐标相乘来将点投影到低维计划时,我得到以下警告

在那行代码中np.dot(self.u[0:components,:],vector)

我用来计算 PCA 的整个代码

0 投票
3 回答
1043 浏览

matlab - 在 Matlab 中使用优化进行 PCA

我想通过解决优化问题 min||X-XBB'|| 在 Matlab 中找到数据矩阵 X 的主成分,其中范数是 Frobenius 范数,B 是正交矩阵。我想知道是否有人可以告诉我该怎么做。理想情况下,我希望能够使用优化工具箱来做到这一点。我知道如何使用其他方法找到主成分。我的目标是了解如何设置和解决以矩阵为答案的优化问题。我非常感谢任何建议或意见。

谢谢!乔丹

0 投票
1 回答
1642 浏览

r - 3D 数据上的 2D PCA

鉴于我的输入 3D 数据位于文件“myFile.txt”中,组织为

我想对其执行 PCA,并且只提取前两个主成分。实现这一目标的最简单方法是什么?我有 R 和 mdp 可供处置,但我不确定我需要执行哪些命令才能使这些命令变得有用。

我会欣赏建设性的意见,而不是无知的反对。目的是帮我找到解决办法,毕竟……

0 投票
2 回答
2134 浏览

opencv - 在 OPENCV v2 API 中执行 PCA 时,如何在 libfacerec 中使用 Mahalanobis 距离?

我正在从事人脸识别项目,并且正在使用 libfacerec。在预测标签时,库使用计算绝对差的 norm()。如何使用 Mahalanobis 距离来提高准确性?OpenCV2 有一个功能:

这需要我通过使用计算 icovar

但是,此函数期望样本存储为单独的矩阵或单个矩阵的行/列。我不知道如何为这个函数提供数据,即如何使样本分离矩阵或作为单个矩阵的行。请帮忙。我想更改以下代码:

0 投票
5 回答
21050 浏览

java - Java中的PCA实现

我需要用 Java 实现 PCA。我有兴趣找到有据可查、实用且易于使用的东西。有什么建议吗?

0 投票
5 回答
11211 浏览

language-agnostic - 在非常大的稀疏矩阵上应用 PCA

我正在使用 R 进行文本分类任务,我获得了一个大小为 22490 x 120,000 的文档项矩阵(只有 400 万个非零条目,不到 1% 的条目)。现在我想通过利用 PCA(主成分分析)来降低维度。不幸的是,R 无法处理这个巨大的矩阵,所以我将这个稀疏矩阵存储在“矩阵市场格式”的文件中,希望使用其他一些技术来做 PCA。

所以任何人都可以给我一些有用的库的提示(无论是什么编程语言),它可以轻松地用这个大规模矩阵做 PCA,或者我自己做一个手写的 PCA,换句话说,首先计算协方差矩阵,然后然后计算协方差矩阵的特征值和特征向量

我想要的是计算所有PC(120,000),并且只选择前N个PC,它们占90%的方差。显然,在这种情况下,我必须先给出一个阈值来将一些非常小的方差值设置为 0(在协方差矩阵中),否则,协方差矩阵将不是稀疏的,其大小将为 120,000 x 120,000,即不可能用一台机器处理。此外,载荷(特征向量)将非常大,应该以稀疏格式存储。

非常感谢您的帮助!

注意:我使用的是 24GB RAM 和 8 个 cpu 内核的机器。

0 投票
1 回答
10083 浏览

matlab - 主成分分析

我必须编写一个用于人类动作识别的分类器(高斯混合模型)。我有 4 个视频数据集。我选择其中 3 个作为训练集,其中 1 个作为测试集。在我将 gm 模型应用于训练集之前,我在其上运行 pca。

在测试步骤中我应该做什么?我应该对测试数据执行新的 princomp

或者我应该使用我为训练数据计算的 pca_coeff?

0 投票
3 回答
1526 浏览

html - 从 R PCA 中提取 3D 坐标

我正在尝试找到一种方法使 R 的 3D PCA 可视化更便携;我已经在 2D 矩阵上使用prcomp().

  1. 如何导出数据点的 3D 坐标以及与每个相关的标签和颜色 (RGB)?
  2. princomp()和的实际区别是什么prcomp()
  3. 关于如何使用 HTML5 和画布最好地查看 3D PCA 图的任何想法?

谢谢!