gpt4 book ai didi

r - 计算大数据的差异矩阵

转载 作者:行者123 更新时间:2023-12-02 04:32:15 24 4
gpt4 key购买 nike

我正在尝试基于具有数值和分类特征的大数据框计算相异矩阵。当我从 cluster package 运行 daisy 函数时我收到错误消息:

Error: cannot allocate vector of size X.

在我的例子中,X 大约是 800 GB。知道我该如何处理这个问题吗?此外,如果有人可以帮助我在并行内核中运行该功能,那也很棒。您可以在下面找到计算 iris 数据集上的差异矩阵的函数:

require(cluster)
d <- daisy(iris)

最佳答案

我以前遇到过类似的问题。即使在我的数据集的 5k 行上运行 daisy() 也需要很长时间。

我最终在 h2o 包中使用了 kmeans 算法,该算法并行化分类数据并对其进行 1-hot 编码。在将数据插入 h2o.kmeans 之前,我会确保将数据居中并缩放(意味着 0 w/stdev = 1)。这是为了使聚类算法不会优先考虑具有高标称差异的列(因为它试图最小化距离计算)。我使用了 scale() 函数。

安装 h2o 后:

h2o.init(nthreads = 16, min_mem_size = '150G')
h2o.df <- as.h2o(df)
h2o_kmeans <- h2o.kmeans(training_frame = h2o.df, x = vars, k = 5, estimate_k = FALSE, seed = 1234)
summary(h2o_kmeans)

关于r - 计算大数据的差异矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47590287/

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