簡體   English   中英

計算大數據的不相似矩陣

[英]Compute dissimilarity matrix for large data

我正在嘗試基於具有數值和分類特征的大數據框架計算差異矩陣。 當我從群集程序包運行daisy函數時,我收到錯誤消息:

錯誤:無法分配大小為X的向量。

在我的情況下,X約為800 GB。 知道我該如何處理這個問題嗎? 另外,如果有人可以幫助我在並行內核中運行該功能,那也很好。 在下面,您可以找到計算虹膜數據集上相異矩陣的函數:

require(cluster)
d <- daisy(iris)

我以前也有過類似的問題。 在我的數據集的甚至5k行上運行daisy()花費了很長時間。

我最終在h2o包中使用了kmeans算法,該算法並行化和1-hot編碼分類數據。 在將數據插入h2o.kmeans之前,我只需要確保對數據進行居中和縮放(平均0 w / h2o.kmeans = 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM