gpt4 book ai didi

python - 从 Python 或 R 中的大数据集中获取高度相关对的有效方法

转载 作者:太空狗 更新时间:2023-10-30 02:05:28 26 4
gpt4 key购买 nike

我有一个大数据集(假设有 10,000 个变量,每个变量大约有 1000 个元素),我们可以将其视为二维列表,例如:

[[variable_1],
[variable_2],
............
[variable_n]
]

我想从该数据中提取高度相关的变量对。我希望“高度相关”成为我可以选择的参数。

我不需要提取所有对,也不一定想要最相关的对。只要有一种有效的方法可以让我得到高度相关的对,我就很高兴。

另外,如果一个变量不出现在一对以上,那就太好了。尽管这可能并不重要。

当然,有一种蛮力的方法可以找到这样的对,但对我来说太慢了。

我在谷歌上搜索了一下,发现了一些关于这个问题的理论工作,但我无法找到可以满足我的需求的软件包。我主要在 python 中工作,所以 python 中的包将是最有帮助的,但如果 R​​ 中存在一个包可以满足我的需求,那就太好了。

有谁知道在 Python 或 R 中执行上述操作的软件包?或者有什么其他想法?

提前致谢

最佳答案

您没有告诉我们您需要多快才能达到,所以这是一个天真的解决方案。

简单地计算相关矩阵,然后使用 which 得到你想要的对的索引:

x <- matrix(rnorm(10000*1000), ncol = 10000)
corm <- cor(x)
out <- which(abs(corm) > 0.80, arr.ind=TRUE)

然后您可以使用子集化来去除对角线和冗余对:

out[out[,1] > out[,2]]

在我的机器上计算相关矩阵大约需要 75 秒,which() 部分大约需要 3 秒......去除冗余大约需要 1.2 秒。是不是太慢了?

关于python - 从 Python 或 R 中的大数据集中获取高度相关对的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11268822/

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