大数据集关联矩阵

2024-09-28 16:20:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,当我有一个数据集X,它的行是样本的不同元素,列是样本的不同特征,我通常计算相关矩阵如下(假设为零均值):

import numpy as np
np.transpose(X).dot(X)/row

现在我有一个数据集X,它有1000万行和100万列,如果我试图计算相关矩阵,计算机仍然是阻塞的。 在我看来,执行for循环的另一种方法似乎不可行,因为对于较小的数据集,它的速度非常慢。在

我该如何管理如此多的数据?在


Tags: 数据方法importnumpy元素foras计算机
1条回答
网友
1楼 · 发布于 2024-09-28 16:20:26

也许你可以用发电机?我不知道它是否可以接受的速度,但它会更好的内存明智,这样计算机就不会阻塞。 像这样的东西https://gist.github.com/thatdatabaseguy/2577076

解释示例:

import numpy as np

def my_gen(some_tuple):
    for each in some_tuple:
        yield each

X = np.fromiter(my_gen(database.get_data()))  # get_data() would return a cursor

编辑: 在这种情况下,您无法找到另一种减少/转换/拆分数据的方法。不管怎样,在一台计算机上都很难处理。 祝你好运!在

相关问题 更多 >