gpt4 book ai didi

C++ - 计算 PCA 的框架( Armadillo 除外)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:02 25 4
gpt4 key购买 nike

我有一个包含大约 200000 个数据点的大型数据集,其中每个数据点包含 132 个特征。所以基本上我的数据集是 200000 x 132

我已经使用 armadillo framework 完成了所有计算.但是,我尝试进行 PCA 分析,但我收到了一个内存错误,我不知道这是因为我的 RAM 内存(8 GB 的 Ram)还是框架本身的限制。

我收到以下错误:请求的大小太大

你能给我推荐另一个没有大小/内存限制的 PCA 计算框架吗?

或者,如果您之前使用 Armadillo 进行 PCA 计算并遇到了这个问题,您能告诉我您是如何解决的吗?

最佳答案

您可能需要启用 64 bit integers 的使用在 Armadillo 中,用于存储元素总数等。

具体来说,编辑文件include/armadillo_bits/config.hpp并取消注释行://#define ARMA_64BIT_WORD。在 3.4 版中,这应该在第 59 行附近。

或者,您可以在程序中包含 Armadillo header 之前定义 ARMA_64BIT_WORD,例如:

#define ARMA_64BIT_WORD
#include <armadillo>
#include <iostream>
...

请注意,您的 C++ 编译器必须能够处理 64 位整数。现在大多数编译器都有它。

关于C++ - 计算 PCA 的框架( Armadillo 除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13480410/

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